• Viernes 8 de Noviembre de 2024, 20:56

Autor Tema:  Evento Click Sobre Del Combobox  (Leído 16518 veces)

karolarivero

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Evento Click Sobre Del Combobox
« en: Sábado 14 de Julio de 2007, 19:19 »
0
Antes de todo  saludos

Tengo un combobox que es activado por otro control, y este combobox activa otro control; es una cadena, es decir, cuando se llena correctamente un control este activa el combobox y le pasa el foco y el combobox hace lo mismo, pero con otro control, mi duda es la siguiente:

¿Existe alguna manera que al hacer click sobre cuaquiera de los items de un combobox este active otro control y le pase el foco?

hasta ahorita tengo el siguiente evento, que me hace una de las validaciones sobre el combobox:

Citar

Private Sub ComboBox1_KeyPress(ByVal sender As System.Object, ByVal e As KeyPressEventArgs) Handles ComboBox1.KeyPress


        ' Estos eventos se producen al darle enter al ComboBox


        If e.KeyChar = ChrW(Keys.Enter) Then
            If Me.ComboBox1.Text.Length = 0 Or ComboBox1.Text = "" Then
                If chequear = False Then
                    MsgBox("La información de este campo es obligatoria", MsgBoxStyle.Exclamation, "Aviso")
                    GroupBox3.Enabled = False
                Else
                    chequear = False
                End If
                Me.ComboBox1.Focus()
            Else
                GroupBox3.Enabled = True
                Button1.Enabled = False
                CheckBox1.Focus()
            End If
        End If

    End Sub


Este hace las validaciones cuando el usuario presiona enter, el problema se presenta cuando el usuario hace click sobre uno de los items del combobox.


En caso de que haga click sobre una de los items, lo ideal seria usar el evento click pero este desplega la lista que contiene el combobox tan rapido que no da chance a que el usuario escoja un subitems...la idea es que al hacer click en uno de los items se active el siguiente control y se le pase el focus. Alguna suguerencia?


Saludos, gracias por su atencion...
MCRS

Cajami

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Evento Click Sobre Del Combobox
« Respuesta #1 en: Sábado 14 de Julio de 2007, 19:33 »
0
Hola, pero porque no usar el evento SelectedIndexChanged del combobox, cuando el usuario seleccione un item del control se pasa el foco a otro control:

Código: Text
  1.     Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  2.         Me.Button1.Focus()
  3.     End Sub
  4.  

claro lo que implica esto es que el usuario no puede seleccionar algun item del combobox con el teclado ia que llegando al primer ittem se iria el foco al otro control, espero te sirva de algo, nos vemos :hola:
Lima - Perú

-------------------------------------------------------------------------------------------------------
"Persigue tus metas, tus objetivos, tus sueños, nunca t rindas si t caes 1000 veces levantat 1000 veces y sigue adelante..."

karolarivero

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Evento Click Sobre Del Combobox
« Respuesta #2 en: Sábado 14 de Julio de 2007, 22:14 »
0
Use ese evento, pero  no me resuelve pues la idea es que al tener el combobox el foco el usuario se pueda mover con las flechas del teclado escojer su opcion darle enter y activar  un control segun la seleccion que hizo, esta validacion me la resuelve el evento KeyPress, ahora si el control recibe el foco pero el usuario no va usar el teclado si no el mouse es donde se complica el asunto, use el evento click y el SelectedIndexChanged junto al keypress y pasa lo que me dices al seleccionar un items pasa inmediatamente el foco al control relacionado con el mismo.... :(


Saludos...
MCRS

cuajoa

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
    • http://www.daskate.com.ar/cuajoa
Re: Evento Click Sobre Del Combobox
« Respuesta #3 en: Martes 17 de Julio de 2007, 21:02 »
0
la idea que se me ocurrio a mi es que podes utilizar una nueva variabel booleana, llamarla apretoTecla e inicializarla en true, y luego en el evento clic del combo ponerle que se cambie a false y en el evento SelectedIndexChanged haces algo asi:
Código: Text
  1.  
  2.     Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  3.         If Not apretoTecla Then
  4.             GroupBox3.Enabled = True
  5.             Button1.Enabled = False
  6.             CheckBox1.Focus()
  7.             apretoTecla = True
  8.         End If
  9.     End Sub
  10.  
  11.  


Yo lo probe y andubo, pero n ose si te sirve asi com oesta, pero se le puede encontar la vuelta.

Saludos
[size=109]Çu@Jö@[/size]
   

karolarivero

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Evento Click Sobre Del Combobox
« Respuesta #4 en: Viernes 20 de Julio de 2007, 02:02 »
0
Hola, Opte por hacer un evento llamado:

Código: Text
  1.  
  2. '------------------------------------------------- Evento KeyDown -------------------------
  3.     Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
  4.        
  5.         If e.KeyCode = Keys.Down Or e.KeyCode = Keys.Up Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Then
  6.             flecha = True
  7.         End If
  8.  
  9.     End Sub
  10.  
  11.  
  12.  

Y entonces valide con el evento keypress y SelectedIndexChanged, pero en este ultimo coloque asi:

Código: Text
  1.  
  2. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  3.  
  4.         If Not flecha Then
  5.  
  6.             If ComboBox1.Text.Length = 0 Then
  7.                 If chequear = False Then
  8.                     MsgBox("La información de este campo es obligatoria", MsgBoxStyle.Exclamation, "Aviso")
  9.  
  10.                     GroupBox3.Enabled = False
  11.                     BotonGuardar.Enabled = False
  12.                     GroupBox5.Enabled = False
  13.  
  14.                     For j = 1 To CantidadTrigo
  15.                         If Not (VectorTrigo(j) = "") Then
  16.                             Button1.Enabled = True
  17.                             j = CantidadTrigo
  18.                         End If
  19.                     Next j '....
  20.        end sub
  21.  
  22.  
  23.  
  24.  

Osea, si estaba trabajando con las flechas de control el evento SelectedIndexChanged no se iba ejecutar...

Gracias por la pista...

Saludos  :hola:
MCRS