C sharp - Como leer los valores de textbox o combobox que fueron creados dinamicamente

 
Vista:
Imágen de perfil de Eduardo

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Eduardo (7 intervenciones) el 13/01/2016 06:34:05
Hola amigos, necesito de sus ayudas
Estoy trabajando con windows form y tengo dos formularios.
En el primer formulario solicito un numero entero y en el segundo formulario
se crearan textbox y combobox dinamicos dependiendo del numero ingresado en el formulario 1.

Por ejemplo asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for (Int32 contador = 1; contador <= Nestanque; contador++)
{
 
	ComboBox combo = new ComboBox();
	combo.Name = "Tipogazolina" + contador;
	combo.Items.Add("93");
	combo.Items.Add("95");
	combo.Items.Add("97");
	combo.Items.Add("Diesel");
	combo.Items.Add("Kerosene");
	combo.Width = 120;
	combo.Height = 25;
	combo.Top = Altura2;
	combo.Left = Ancho2;
	Altura2 = 25 + Altura2;
 
	this.Controls.Add(combo);
 
 
}

Esos son los combobox.
¿Como rescato los valores de cada combobox?
De antemano gracias :D
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
sin imagen de perfil
Val: 39
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Marcelo (23 intervenciones) el 13/01/2016 13:51:07
Que tal?

Tienes varias forma para poder lograrlo.

La primera y que seguramente te genere el menor dolor de cabeza es que utilices el método find.

1
this.Controls.Find(NombreDelControl)

Si tienes el control del numerador que usas, perfectamente puedes obtener el combo deseado y desde alli ya puedes hacer lo que necesites.

Una segunda forma es que ademas de ingresar los combos en controls te crees una estructura (lista, diccionario o lo que prefieras) donde los vayas almacenando y tengas rápido acceso a ellos.

Espero haberte aclarado algo el panorama.

Por cualquier duda, quedo a las ordenes.
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 Eduardo

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Eduardo (7 intervenciones) el 13/01/2016 18:18:28
Muchas gracias estimado pero disculpa mi poca experienca.
te entiendo lo que me quieres decir pero nose como llevarlo a la practica.

como te dije antes tengo este for que genera x combobox:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for (Int32 contador = 1; contador <= Nestanque; contador++)
{
 
	ComboBox combo = new ComboBox();
	combo.Name = "Tipogazolina" + contador;
	combo.Items.Add("93");
	combo.Items.Add("95");
	combo.Items.Add("97");
	combo.Items.Add("Diesel");
	combo.Items.Add("Kerosene");
	combo.Width = 120;
	combo.Height = 25;
	combo.Top = Altura2;
	combo.Left = Ancho2;
	Altura2 = 25 + Altura2;
 
	this.Controls.Add(combo);
}

y luego tengo un evento de un boton en el cual quiero que rescate los datos seleccionado en cada combobox

1
2
3
4
private void Paso3_Click(object sender, EventArgs e)
{
   //Nose como obtener los datos de los combobox de arriba
}

intente con lo que me dijiste pero me tira error


unop
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
sin imagen de perfil
Val: 39
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Marcelo (23 intervenciones) el 13/01/2016 18:56:48
Probas algo así?
1
2
3
4
5
6
7
8
9
10
private void Paso3_Click(object sender, EventArgs e)
{
            for (int i = 1; i <= Nestanque; i++)
            {
                ComboBox combo = this.Controls.Find("Tipogazolina" + i, true).FirstOrDefault() as ComboBox;
                if(combo != null){
                    string dato = combo.SelectedItem.ToString();
                }
            }
}
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 Eduardo

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Eduardo (7 intervenciones) el 13/01/2016 19:13:46
El codigo no me arroja errores pero al momento de imprimir ese "STRING DATO"
NO ME IMPRIME NADA :(
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
sin imagen de perfil
Val: 39
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Marcelo (23 intervenciones) el 13/01/2016 19:26:38
Nestanque tiene el valor correcto(mismo valor que cuando creas los combos)?

Asumo que los combos tienen valores seleccionados .

Te animas a comentar algo de lo que estés haciendo, muestra de código o similar para que pueda orientarte mejor?
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 Eduardo

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Eduardo (7 intervenciones) el 13/01/2016 19:40:35
Estimado eres un genio te pasaste
Tenia un proble con el evento del boton que no estaba creado,funciona perfecto
De verdad te lo agradezco
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
sin imagen de perfil
Val: 39
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como leer los valores de textbox o combobox que fueron creados dinamicamente

Publicado por Marcelo (23 intervenciones) el 13/01/2016 20:00:13
Tu tema esta acá

1
string dato = combo.Items[i].ToString();

Tu código tiene que ser

1
string dato = combo.SelectedItem.ToString();

No te tienes que quedar con el elemento en la posición i del for(dado que no aporta nada), sino del elemento que el usuario eligió del combo.

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