CLR: .Net / Mono / Boo / Otros CLR > C#

 Pregunta Sencilla Sobre Form_load Y Combo

(1/3) > >>

Dieguinho.:
Buenas, espero que no sea tan de ignorante mis preguntas. (recien empiezo con c#)

Pregunta 1:
Como salgo del evento Load de un form?? Ya que tengo que realizar ciertas validaciones y salir si no se cumplen.
Con this.close() sigue de largo.

Pregunta 2:
Como hago para que a los datos que muestra un combo no los pueda modificar?
O sea que pueda recorrer el combo pero no cambiar los valores que tenga.
Y con respecto al combo, se le puede agregar ademas del campo visible algun tipo de codigo numerico (que no se muestre) que quede adjunto a dicho campo.

Saludos.

JuanK:

--- Cita de: "Dieguinho." --- Buenas, espero que no sea tan de ignorante mis preguntas. (recien empiezo con c#)

Pregunta 1:
Como salgo del evento Load de un form?? Ya que tengo que realizar ciertas validaciones y salir si no se cumplen.
Con this.close() sigue de largo.
 
--- Fin de la cita ---
Application.Exit();

--- Citar ---Pregunta 2:
Como hago para que a los datos que muestra un combo no los pueda modificar?
O sea que pueda recorrer el combo pero no cambiar los valores que tenga.
Y con respecto al combo, se le puede agregar ademas del campo visible algun tipo de codigo numerico (que no se muestre) que quede adjunto a dicho campo.
--- Fin de la cita ---

Entonces non necesitas un combobox sino un listbox.
lo de los datos hay maneras sencillas de hacer eso, pero primero cambia le combo box.

Dieguinho.:
Pregunta 1:
No pude salir con application.exit().
Si funciona por ej. si lo pongo en un boton "Salir", pero no para salir de la aplicacion dentro del form_load
Otra opcion?

Pregunta 2:
En cuanto a esto, lo que necesito es realmente un combobox, no un listbox.
Y necesito que los valores de ese combo un usuario no los pueda modificar.


gracias igual!

Neopro:
Hay una forma sencilla...

Buscas las lineas de codigo en el Designer del Form relacionadas con:

Load.

Algo como esto:


--- Código: Text ---            this.Load += new System.EventHandler(this.Form1_Load); 
Si te das cuenta y copias la línea, puedes reemplazar el primer Load por Close (en una linea nueva), es solo para poder crear un nuevo evento.


--- Código: Text ---            this.Close +=.... 
y asignarle un nombre de accion al igual que Form1_Load:


--- Código: Text ---            this.Close+= new System.EventHandler(this.Form1_Close); 
Luego creas la siguiente funcion:


--- Código: Text --- private void Form1_Close(object sender, EventArgs e)        {                 } 
Y dentro colocas lo que necesites.

Espero te sirva.

JuanK:

--- Citar ---Pregunta 1:
No pude salir con application.exit().
Si funciona por ej. si lo pongo en un boton "Salir", pero no para salir de la aplicacion dentro del form_load
Otra opcion?

--- Fin de la cita ---
Arroja una excepcion desde el load y capturas la excepcion cuando creas la instancia de la forma.
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
        private void FrmChat_Load(object sender, EventArgs e)
        {
            throw new InvalidProgramException("Este es el error");
        }

....
....
....
            try
            {

                forma = new Form();
             }
            catch
            {
               // atrapada
            }

<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->


--- Citar ---Pregunta 2:
En cuanto a esto, lo que necesito es realmente un combobox, no un listbox.
Y necesito que los valores de ese combo un usuario no los pueda modificar.


gracias igual!
--- Fin de la cita ---

Un ComboBox no es para eso. En todo caso si insistes:

Has la validacion en el evento Validating del comboBox:

<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->        private void comboBox1_Validating(object sender, CancelEventArgs e)
        {
            if (comboBox1.Text != "")
            {
                string s;
                bool encontrado = false;
                for (int i = 0; i < comboBox1.Items.Count; i++)
                {
                    s = (string)comboBox1.Items[i];
                    if (comboBox1.Text == s)
                    {
                        encontrado = true;
                        break;
                    }
                }

                if (!encontrado)
                    e.Cancel = true;
            }
        }<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa