Hola. Paso a explicar lo que necesito.
Tengo una funcion en la cual lleno un listbox y necesito que ese listbox lo reciva otro que ya esta creado en el formulario y se vean todos los elementos que este tiene.
He hecho lo siguiente:
Aqui creo una clase en la cual tambien creo la funcion que retorna el listbox
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace Devolver_ListBox
{
class ClaseListBox
{
public ListBox Devolver()
{
ListBox Lista=new ListBox();
Lista.Items.Add("Uno");
Lista.Items.Add("Dos");
Lista.Items.Add("Tres");
return (Lista);
}
}
}
Despues en un formulario en el cual tengo ya creado un control llamado lstLista y un boton en el cual instancio la clase de arriba y luego asigno al lstLista la llamada a funcion Devolver. Si cuento los elementos son tres, si lo recorro con un foreach, me los muestra, pero no se ven en pantalla.
Lo que hice fue lo siguiente, en el boton mostrar:
private void CmdMostrar_Click(object sender, EventArgs e)
{
ClaseListBox Lst = new ClaseListBox();
lstLista = Lst.Devolver();
lstLista.Refresh();
}
Segun yo debio actualizarse tambien en pantalla, pero no lo hizo. Y para comprobar que tenia los elementos, lo recorri con otro boton.
private void cmdRecorrer_Click(object sender, EventArgs e)
{
foreach (string Valor in lstLista.Items)
MessageBox.Show("valor=" + Valor);
}
Aqui efectivamente me muestra los valores de los elementos.
No se que metodo debo usar para que efectivamente pueda ver los elementos en pantalla.
Espero alguien pueda ayudarme.
Saludos a todos y gracias desde ya.
CHOCVI