• Jueves 28 de Marzo de 2024, 10:38

Autor Tema:  Pregunta Sencilla Sobre Form_load Y Combo  (Leído 5059 veces)

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Pregunta Sencilla Sobre Form_load Y Combo
« en: Miércoles 7 de Marzo de 2007, 20:43 »
0
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

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #1 en: Miércoles 7 de Marzo de 2007, 21:01 »
0
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.
 
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.

Entonces non necesitas un combobox sino un listbox.
lo de los datos hay maneras sencillas de hacer eso, pero primero cambia le combo box.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #2 en: Lunes 12 de Marzo de 2007, 19:58 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #3 en: Martes 13 de Marzo de 2007, 20:10 »
0
Hay una forma sencilla...

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

Load.

Algo como esto:

Código: Text
  1.             this.Load += new System.EventHandler(this.Form1_Load);
  2.  

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
  1.             this.Close +=....
  2.  

y asignarle un nombre de accion al igual que Form1_Load:

Código: Text
  1.             this.Close+= new System.EventHandler(this.Form1_Close);
  2.  

Luego creas la siguiente funcion:

Código: Text
  1.  private void Form1_Close(object sender, EventArgs e)
  2.         {
  3.         
  4.          }
  5.  

Y dentro colocas lo que necesites.

Espero te sirva.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #4 en: Martes 13 de Marzo de 2007, 20:45 »
0
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?
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!

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-->
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

trentia

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #5 en: Miércoles 28 de Marzo de 2007, 17:59 »
0
Has probado con :

          return false;

Javier Tirado
IT Consultor
www.trentia.es
Javier Tirado
Trentia Consulting
TRENTIA
.]

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #6 en: Martes 3 de Abril de 2007, 21:21 »
0
Pregunta 1:
por ahora no pude salir del form_load ni con return ni con application.exit ni con this.close.
Si puedo salir en cualquier momento de la aplicacion con esas sentencias pero no dentro del form_load, la verdad que no se por que. Todavia me faltan probar unas cosas pero si alguno sabe de alguna sentencia sencilla que me avise...!

Pregunta 2:
No entiendo a JuanK porque estoy usando mal el combo. Quiza no me explique bien por lo que adjunto la pantalla de la aplicacion (esta a medio hacer). Ahi se puede ver que lo unico que quiero es hacer una seleccion de un tipo de formato de mail que luego se va a enviar. Algo sencillo.

Y con respecto al combo a mi me gustaria saber dos cosas:
. Como hacer para que no me pueda modificar lo que ya esta cargado en el combo?? (en la imagen se ve claramente que se esta modificando).
. Se puede ademas de agregarle el texto al combo agregarle tambien algun numero de manera interna por el cual despues yo lo pueda buscar??
Por ej. supongamos que cargo un combo con datos de una tabla con 3 columnas. Id Pais, Nombre y Capital.
Yo quisiera en el combo se vea nada mas el nombre del pais, pero de alguna manera cargarle tambien el id para luego con ese id hacer la consulta mas rapido a la base de datos para saber la capital por ej. Calculo que debe ser mas rapido buscar por un nro que por una palabra no??

Saludos.

Adjunto la pantalla!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #7 en: Martes 10 de Abril de 2007, 17:24 »
0
Por el momento lo unico que pude resolver es el tema referido a agregarle algun valor interno al combo para cada registro y que no lo muestre (por ej. cargar el nombre del pais para mostrar y el id del pais para luego realizar la busqueda).
Lo hice con la propiedad .valuemember.

Ahora me faltaria saber como hacer para que no se puedan modificar los datos del combo y como salir del evento load del form.


Saludos.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #8 en: Martes 10 de Abril de 2007, 17:29 »
0
Cita de: "Dieguinho."
Ahora me faltaria saber como hacer para que no se puedan modificar los datos del combo y como salir del evento load del form.
 
o sea lo que ya te explique desde hace tiempo...  :scream:  :ph34r:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #9 en: Martes 10 de Abril de 2007, 17:36 »
0
Cita de: "Dieguinho."
Pregunta 1:
por ahora no pude salir del form_load ni con return ni con application.exit ni con this.close.
Si puedo salir en cualquier momento de la aplicacion con esas sentencias pero no dentro del form_load, la verdad que no se por que. Todavia me faltan probar unas cosas pero si alguno sabe de alguna sentencia sencilla que me avise...!
 
ya te explique como.

Citar
Pregunta 2:
No entiendo a JuanK porque estoy usando mal el combo. Quiza no me explique bien por lo que adjunto la pantalla de la aplicacion (esta a medio hacer). Ahi se puede ver que lo unico que quiero es hacer una seleccion de un tipo de formato de mail que luego se va a enviar. Algo sencillo.

esta mal usado porque se llama combo porque es un combo : lista - texbox es decir te permite seleccionar de una lista y adicionalmente ingresar datos en un textbox.
Citar
Y con respecto al combo a mi me gustaria saber dos cosas:
. Como hacer para que no me pueda modificar lo que ya esta cargado en el combo?? (en la imagen se ve claramente que se esta modificando).
tambien ya te dije.

Citar
. Se puede ademas de agregarle el texto al combo agregarle tambien algun numero de manera interna por el cual despues yo lo pueda buscar??
Por ej. supongamos que cargo un combo con datos de una tabla con 3 columnas. Id Pais, Nombre y Capital.
Con la propiedad que ya encontraste.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #10 en: Martes 10 de Abril de 2007, 20:39 »
0
Citar
Citar
Pregunta 1:
por ahora no pude salir del form_load ni con return ni con application.exit ni con this.close.
Si puedo salir en cualquier momento de la aplicacion con esas sentencias pero no dentro del form_load, la verdad que no se por que. Todavia me faltan probar unas cosas pero si alguno sabe de alguna sentencia sencilla que me avise...!
ya te explique como.
Si, es cierto que me lo explicaste, pero como el tema de lanzar excepciones no lo conocia (me gustaria entenderlo para aplicarlo) y mucho tiempo no tenia, preferi dejarlo para mas adelante. Prometo leer sobre eso y aplicarlo. Igualmente gracias.

Citar
Citar
Pregunta 2:
No entiendo a JuanK porque estoy usando mal el combo. Quiza no me explique bien por lo que adjunto la pantalla de la aplicacion (esta a medio hacer). Ahi se puede ver que lo unico que quiero es hacer una seleccion de un tipo de formato de mail que luego se va a enviar. Algo sencillo.
esta mal usado porque se llama combo porque es un combo : lista - texbox es decir te permite seleccionar de una lista y adicionalmente ingresar datos en un textbox.
Nunca me habia puesto a pensar en el significado de la palabra combo, y eso no te lo discuto. Pero insisto, lo que quiero hacer yo es lo mismo que se hace por ej. en este foro en la parte de busqueda, ahi usan dos combos (relacionados con las fechas) que tienen el mismo fin de lo que quiero hacer yo. Y ahi el combo funciona exactamente como necesitaria, sin poder modificarse.

Lo del evento validating lo probe pero no es lo que necesito. El claro ejemplo de lo que quiero hacer es ese combo que te mencione que aparece en la busqueda.

Espero que no te ofenda mi punto de vista, pero si bien la lista puede servir, en este caso no me parece lo mas estetico para la aplicacion.

Saludos.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #11 en: Martes 10 de Abril de 2007, 20:51 »
0
supongo  que lo probaste un poco mal.

el combo con el evento tal como te lo he enviado te permite escribir lo que sea pero no te permite salir del control sino seleccionas o escribes una de las opciones existente en la lista.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #12 en: Martes 10 de Abril de 2007, 20:57 »
0
Lo otro que puedes hacer para que no puedan "escribir" es:

utilizar el evento onkeyup:

Código: Text
  1.         private void comboBox1_KeyUp(object sender, KeyEventArgs e)
  2.         {
  3.             try
  4.             {
  5.                 comboBox1.Text = (string)comboBox1.Items[0];
  6.             }
  7.             catch
  8.             {
  9.                 comboBox1.Text = &#34;&#34;;
  10.             }
  11.         }
  12.  
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Dieguinho.

  • Miembro MUY activo
  • ***
  • Mensajes: 163
    • Ver Perfil
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #13 en: Martes 10 de Abril de 2007, 21:43 »
0
El codigo del evento validating lo habia probado bien y me di cuenta que no podias salir si habias realizado algun cambio, pero como te decia no era lo que yo necesitaba.

Y con respecto a este ultimo codigo que me envias, esta bastante mas cercano a lo que quiero.

Pero finalmente lo pude lograr. Y me parecia que tenia que ser algo sencillo.
Recordaba que usando Visual C++ el combo tenia una propiedad Type en donde se le ponia DropList y hacia lo que yo necesitaba. Con eso me puse a buscar algo similar en C# y encontre que en la propiedad DropDownStyle que por defecto tiene DropDown hay que cambiarlo por DropDownList y asi queda exactamente como necesito.

Aprecio el tiempo que utilizaste ayudandome y te lo agradezco.
Ja, te aseguro que ya me estabas odiando no??

Ahora solo me resta investigar el tema que me habias dicho sobre las excepciones para salir del form load.

Gracias y saludos.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Pregunta Sencilla Sobre Form_load Y Combo
« Respuesta #14 en: Martes 10 de Abril de 2007, 21:49 »
0
Cita de: "Dieguinho."
Recordaba que usando Visual C++ el combo tenia una propiedad Type en donde se le ponia DropList y hacia lo que yo necesitaba. Con eso me puse a buscar algo similar en C# y encontre que en la propiedad DropDownStyle que por defecto tiene DropDown hay que cambiarlo por DropDownList y asi queda exactamente como necesito.

Aprecio el tiempo que utilizaste ayudandome y te lo agradezco.
Ja, te aseguro que ya me estabas odiando no??
 
Para nada, y gracias por el dato no sabia que se podía modificar con esa propiedad  :smartass:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io