C sharp - Pasar una List de un Formulario a otro

   
Vista:

Pasar una List de un Formulario a otro

Publicado por Luciano luciano.cedrez@gmail.com (4 intervenciones) el 17/04/2015 01:26:56
Estimados como están? tengo un inconveniente estoy trabajando en C# con Windows Forms y estoy tratando de pasar una List de tipo string a otro Formulario esto lo estoy intentando atraves de delgados y eventos. Pero me da un error ustedes conocen alguna otra forma de pasar una list de un formulario a otro? y de ser asi como sería??

Les dejo lo que he hecho.

public delegate void pasar(List<string> lista);
public event pasar pasado;

foreach (string it in listProyectistas.Items)
{
lista.Add(it);
}
pasado(lista); (aca es donde me da el error : Referencia a objeto no establecida como instancia de un objeto)

Igualmente si ustedes conocen alguna otra forma de pasar una list a otro formulario sin ser através de parámetros instanciando el formulario ya que me lo borra les estaría enormemente agradecido.

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

Si ya tienes la lista llena, mas simple que eso sería que lo pases en el constructor del segundo formulario.

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar una List de un Formulario a otro

Publicado por Luciano (4 intervenciones) el 18/04/2015 19:49:12
Wilfredo gracias por la respuesta, si ya tengo la lista llena he intentado pasar la lista con el constructor del formulario o sea por parametro pero cuando quiero utilizar esa lista en ese formulario me aparece como null y no entiendo porque realmente esto me esta trancando todo, seria de un formulario hijo a un formulario padre el traspaso de esta list sino conocen alguna otra manera?? agradezco cualquier ayuda muchas muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

Algo debes estar haciendo mal

Fíjate que el asunto sería así:
En el formulario destino puedes declarar algo así:

private List<Entidad> oListaAlgo=new List<Entidad()

en el constructor de tu formulario destino (Donde recibirás la lista)

Public NombreFormulario(List<Entidad>oListaQueRecibo)
{
InitializeComponents

oListaAlgo=oListaQueRecibo; 'OJO ambas listas deben ser del mismo tipo de datos o entidades
}

y ya en el form load o en otro evento haces uso de oListaAlgo

Y tendrás todo sin problema.

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar una List de un Formulario a otro

Publicado por Luciano (4 intervenciones) el 19/04/2015 23:47:09
Yo eso lo hago , y chequeo que la list se haya pasado y hasta ahí todo bien, pero cuando voy a usar esa list esta en null,

por ejemplo hago tal cual me decis pero en el formulario que tengo la lista o sea no en el formulario destino, invoco al form de esta manera: FormularioDesto form = new FormualrioDestino(Lista); y chequeo con f10 y pasa la lista luego utilizo this.Hide para que se oculte el formulario y quedarme en el de Destino pero mi lista queda en null ya no se que hacer. Muchas gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

Lo estás asignando a una lista luego del InitializeComponents, como te estoy indicando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar una List de un Formulario a otro

Publicado por Luciano (4 intervenciones) el 20/04/2015 23:38:24
Si si todo como vos dijiste mira este es el formulario destino

public partial class IngresoDeProyecto : Form
{
public IngresoDeProyecto( List<string> list)
{

InitializeComponent();
listaDeContactos = list;
}

ahí recibe la list, pero cuando querio utilizar la lis a la que igualo, me dice que count=0 no tiene nada y yo necesito esa list que es los contactos que voy a agregar al proyecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

Agrégame por skype como wilfredopatricio@outlook,com, para echarle una mirada y verás que hay un pequeño detalle que no estás viendo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

Y que fue Luciano?.

Pudiste resolver tu problema?, ¿Qué estaba pasando?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pasar una List de un Formulario a otro

Publicado por elias (2 intervenciones) el 05/06/2015 17:45:42
hola buenas dias tengo un pequeño problema el cual necesito una pequeña ayuda con este programa que he creado el cual me genera este error despues de validar que el texbox no este en blanco le anexo el codigo y en donde me genera el error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
}
OleDbConnection cone = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Base de datos Aplicativo Energia.accdb;Persist Security Info=False ");
OleDbCommand comand = new OleDbCommand();
OleDbDataReader recuperar;
private void button1_Click(object sender, EventArgs e)
{
	if (textBox1.Text != "" & textBox2.Text != "")
	{
		cone.Open();
		comand = new OleDbCommand(" select * from Usuario where Usuarios = '" + textBox1.Text + "' and Clave = '" + textBox2.Text + "'", cone);
		recuperar = comand.ExecuteReader();
 
	}
 
	else
	{
		MessageBox.Show("No puede ir vacio debe Suministrar los Campo Solicitados");
	}
 
	if (recuperar.Read())     aqui me genera el error de ExepcionNullrefence referencia a objeto no establecida como instancia de un objeto
	{
		MessageBox.Show("BIENVENIDO A SICENE");
		Form2 ventana = new Form2();
		ventana.ShowDialog();
		textBox1.Text = "";
		textBox2.Text = "";
	}
	else
		MessageBox.Show("usuario o clave errada");
	textBox1.Text = "";
	textBox2.Text = "";
	cone.Close();
	this.Close();

ayudenme por favor y de antemano gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Pasar una List de un Formulario a otro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
}
OleDbConnection cone = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Base de datos Aplicativo Energia.accdb;Persist Security Info=False ");
OleDbCommand comand = new OleDbCommand();
OleDbDataReader recuperar;
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" & textBox2.Text != "")
{
cone.Open();
comand = new OleDbCommand();
comand.CommandText="Select Usuarios, Clave From Usuario Where Usuarios=@Usuario And Clave=@Clave";
comand.CommandType=commandType.text;
comand.Connection=cone;
comand.Parameters.Add("@Usuario",OledbType.VarChar).Value=TextBox1.text;
comand.Parameters.Add("@Clave",OledbType.VarChar).Value=TextBox2.text;
 
OLEDBDataReader recuperar=comand.ExecuteReader();
if (recuperar.HasRows)
{
MessageBox.Show("BIENVENIDO A SICENE");
Form2 ventana = new Form2();
ventana.ShowDialog();
textBox1.Text = "";
textBox2.Text = "";
}
else
MessageBox.Show("usuario o clave errada");
textBox1.Text = "";
textBox2.Text = "";
cone.Close();
this.Close();
 
}
 
else
{
MessageBox.Show("No puede ir vacio debe Suministrar los Campo Solicitados");
}

Evita hacer esas concatenaciones que te hacen vulnerable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar