Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Cómo validar dentro de un evento keypress el enter de otro textbox?

Estas en el tema de ¿Cómo validar dentro de un evento keypress el enter de otro textbox? en el foro de .NET en Foros del Web. Hola, Resulta que estoy haciendo un formulario de captura de USUARIOS en un sistema, cuando inserto un usuario que no existe en la base de ...
  #1 (permalink)  
Antiguo 29/01/2013, 19:49
 
Fecha de Ingreso: febrero-2012
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
¿Cómo validar dentro de un evento keypress el enter de otro textbox?

Hola,

Resulta que estoy haciendo un formulario de captura de USUARIOS en un sistema, cuando inserto un usuario que no existe en la base de datos, me arroja un mensaje indicando si quiero agregar el usuario, este codigo lo tengo en el evento KEYPRESS de usuarios, si le doy a si, el focus se iria al me.txtpassword.text allí es donde quiero validar q cuando escriba X contraseña se vaya al siguiente textbox que es el de repetircontraseña. EL codigo va asi :


If e.KeyChar = Chr(13) Then

If conexion.State = ConnectionState.Open Then
conexion.Close()
End If

comando.Connection = conexion
conexion.Open()
comando.CommandType = CommandType.Text
comando.CommandText = ("select * from usuarios where us_nick='" & txtusuario.Text & "'")
leer = comando.ExecuteReader

If leer.Read = True Then
existe = 1
habilitar()
Me.txtpassword.Focus()
Else
If (MessageBox.Show("El usuario no existe, ¿desea agregar el usuario al sistema?", "usuario no encontrado", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes) Then

existe = 0
habilitar()
Me.txtpassword.Focus()
If Me.txtpassword.Text = Chr(13) Then
Me.lblrepetirpass.Visible = True
Me.txtrepetirpass.Visible = True
Me.txtrepetirpass.Enabled = True
End If
End If
End If
End If
conexion.Close()
End Sub



'Aqui si le doy click a si procede a realizar lo que tengo en esta parte , habilitar es una funcion q me habilita el label de password y el textbox de password también, luego el focus se va al password, allí si ingreso X contraseña y al dar enter dentro de la misma condicion quiero q me habilite el textbox de repetirpassword y habilite dicho texto, acá por algún motivo no entra al "if me.txtpassword.text=chr(13) then : que haga lo q le pido.

en el evento Keypress de txtpassword tengo lo siguiente :

Private Sub txtpassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtpassword.KeyPress

If e.KeyChar = Chr(13) Then
encriptapassword()
If conexion.State = ConnectionState.Open Then
conexion.Close()
End If

conexion.Open()
comando.Connection = conexion
comando.CommandType = CommandType.Text
comando.CommandText = ("select * from usuarios where us_nick='" & txtusuario.Text & "' and us_pass='" & Me.txtpassword.Text & "' ")
leer = comando.ExecuteReader

If leer.Read Then
Me.cboxnivelus.SelectedIndex = leer("us_nivel") - 1
Me.txtnombre.Text = leer("us_nom")
mostrar()
Me.btnmodificarpass.Visible = True
Me.txtnombre.Focus()
Me.txtpassword.Enabled = False
Me.txtrepetir.Enabled = False
Me.cboxnivelus.Refresh()
Else
MessageBox.Show("La contraseña es incorrecta", "Contraseña incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.txtpassword.Text = ""
Me.txtpassword.Focus()
End If
End If
conexion.Close()
End Sub


ahora, cuando arriba en el eventokeypress de usuario, si no existe el usuario el focus se pasa a txtpassword, cuando le doy enter me muestra el mensaje de aca que es "la contraseña es incorrecta"

como puedo hacer q dentro de la condicion del mensaje de usuario no encontrado, registrar? al dar si y luego enter al password el focus se vaya al txtrepetirpass.. Gracias.
  #2 (permalink)  
Antiguo 29/01/2013, 20:13
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 14 años, 2 meses
Puntos: 8
Respuesta: ¿Cómo validar dentro de un evento keypress el enter de otro textbox?

Una duda, veo que tienes en el evento del usuario que si no existe lo agregue y despues en el evento del pass al dar enter validas ese pass, pero si el usuario es nuevo y lo agregaste no veo que agregues una clave, entonces como la validas?

Con lo de cambiar el Foco entre textbox tal vez te serviria SendKeys.Send("{TAB}"), al menos asi lo manejo yo, pero creo que el error que traes es en la parte de las claves, si agregas uno nuevo, al menos como entiendo, la clave va en blanco o nula, no se si es en donde estas atorado o entendi mal.

Saludos...
  #3 (permalink)  
Antiguo 29/01/2013, 21:34
 
Fecha de Ingreso: febrero-2012
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: ¿Cómo validar dentro de un evento keypress el enter de otro textbox?

Cita:
Iniciado por emmax Ver Mensaje
Una duda, veo que tienes en el evento del usuario que si no existe lo agregue y despues en el evento del pass al dar enter validas ese pass, pero si el usuario es nuevo y lo agregaste no veo que agregues una clave, entonces como la validas?

Con lo de cambiar el Foco entre textbox tal vez te serviria SendKeys.Send("{TAB}"), al menos asi lo manejo yo, pero creo que el error que traes es en la parte de las claves, si agregas uno nuevo, al menos como entiendo, la clave va en blanco o nula, no se si es en donde estas atorado o entendi mal.

Saludos...
Gracias por tu respuesta, te comento, cuando grabo un usuario la llave primaria es el nick del usuario, mi tabla es asi : Usuarios (us_nick,us_pass,us_nivel,us_nom) entonces, al momento de guardar, filtraré la busqueda de usuarios por el us_nick, si existe el usuario el focus se pasa el textboxpassword allí introduce la clave, si la clave coincide se llenan los campos que tengo ocultos (cboxnivel y el textboxnombre). Ahora, cuando el usuario no existe simplemente el focus se pasa al textboxpassword allí yo quiero hacer la validación dentro del textusuario_keypress que es : luego de pasarse el focus al password, al poner la clave para registrar el usuario al darle ENTER quiero q se pase al textboxrepetirpassword pero cuando le doy enter no me entra en la condicion :

If me.txtpassword= Chr(13) then
me.lblrepetirpass.visible=true
me.txtrepetirpass.visible=true
me.txtrepetirpass.focus
end if

eso , allí nisiquiera entra cuando le doy ENTER al pass.. no sé que hacer ;/
  #4 (permalink)  
Antiguo 30/01/2013, 07:19
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: ¿Cómo validar dentro de un evento keypress el enter de otro textbox?

por favor usar los códigos Geishi para encerrar bloques de código... eso lo pueden encontrar al momento de escribir, en el menú de respuesta aparece un combo llamada "Highlight", allí seleccionan el lenguaje que pertenece.
Ahora viendo el problema, no entra a tu char(13) que vendría a ser tu [Enter], bueno colocalo de esta manera :
Código vb:
Ver original
  1. If e.KeyChar == Convert.ToChar(Keys.Enter) Then
  2. '...
  3. End If
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: basic.net, vb, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.