Usuario
Pasar valor de un elemento de un combobox al iniciar un form y no haciendolo con el evento SelectedIndexChanged

Pregunta
-
Hola a todos
Lo que pasa es que tengo una clase en donde hago una consulta,
esta consulta la invoco en el form donde tengo un combobox para que el combobox se llene de esa consulta(catalogo)
el evento selelectedIndexChanged hace su trabajo de forma correcta
Pero lo que quiero es que como ya tengo los datos en el combobox quiero que al inciar el form se ejecute un metodo que realiza una consulta leyendo el dato que se carga dentro del combobox/ realiza las mismas instrucciones que selectedindex, pero quiero que se ejecute al iniciar el combobox sin necesitar de hacer clic en el y seleccionar el elemento
quiero que lea el primer elemento del combobox y ejecute el metodo que le pido, hay algun evento del combobox que se ejecute al iniciar el form?
Todas las respuestas
-
hay algun evento del combobox que se ejecute al iniciar el form?
No, pero no hace falta. Puedes usar para esto el Form_Load.
Extrae a una subrutina el contenido que tienes en el SelectedIndexChanged, y llama a esa subrutina desde los dos sitios (el SelectedIndexChanged y el Form_Load). De esta manera el contenido del combo se lee tanto al cargar el form como cuando seleccionas un elemento del combo.
Cuidado con una cosa: El SelectedindexChanged no solo se dispara cuando el usuario cambia la selección desde la pantalla, sino también cuando cambias los datos del combo por programación. Tenlo en cuenta no sea que le estés añadiendo datos desde programa y eso esté disparando el selectedindexchanged y eso esté "machacando" lo que habías seleccionado en el Form_Load.
-
hola
>>quiero que al inciar el form se ejecute un metodo que realiza una consulta leyendo el dato que se carga dentro del combobox
cual es ese dato ? porque en principio seria el primer item del combo, salvo que en el Form_Load estes cambiando la seleccion
Es raro que al asignar el DataSource del combo no se este ejecutando el SelectedIndexChanged
Lo que recomendaria es que cambies el evento por SelectionChangeCommitted
asi solo se lanza cuando el usuario cambia la seleccion, entonces usas
public class Form1: Form { public void Form1_Load(){ //aqui cargas los items del combo asignando el DataSource Metodo1(combobox1.SelectedValue); } public void combobox1_SelectionChangeCommitted(...){ Metodo1(combobox1.SelectedValue); } private void Metodo1(string seleccion){ //codigo } }
la idea es que el metodo comun lo invocas tanto despues de cargar el combo como en el seleccion de un itemsaludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Hola BlackCode23
¿Alguna actualización sobre la consulta realizada? ¿Alguna de las respuestas proporcionadas te ayudó?
Espero tu respuesta.
Gracias por usar los foros de MSDN.
Luis Diego Mora
--------------------------------------------------------------------------
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
-