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

de vb6 a vb.net Como??

Estas en el tema de de vb6 a vb.net Como?? en el foro de .NET en Foros del Web. Buenas, esto se hace en VB6 Private Sub txtmanifiesto_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then cmdmodificar_Click End Sub Osea ejecutar esto ...
  #1 (permalink)  
Antiguo 13/12/2009, 09:47
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
Pregunta de vb6 a vb.net Como??

Buenas, esto se hace en VB6

Private Sub txtmanifiesto_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then cmdmodificar_Click
End Sub
Osea ejecutar esto (cmdmodificar_Click) dentro de txtmanifiesto_KeyDown.

Como lo hago con VB.net 2005 Winform??

Gracias
  #2 (permalink)  
Antiguo 13/12/2009, 10:51
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Respuesta: de vb6 a vb.net Como??

Con este no deberias tener problemas, ya que no te pasa a otro control. Solo tienes que conseguir reconocerlo, y te puede servir igual keydown que keyup que keypress.

Private Sub txtmanifiesto_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtmanifiesto.KeyUp

If e.KeyCode = 13 Then cmdmodificar_Click

End Sub

Sigo sin poder probarlo, pero si con tab servia...
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 13/12/2009, 12:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
Pregunta de vb6 a vb.net Como??

No me explique bien o NO me entendiste. Primero esto no existe: "If e.KeyCode = 13 Then cmdmodificar_Click" en VB.net 2005 winform , es de esta manera

If e.KeyCode = 13 Then cmdmodificar.PerformClick()

esto es lo que quiero hacer

Private Sub cbproveedor_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cbproveedor.KeyDown
If e.KeyCode = 13 Then
Database.Connection = New SqlConnection(Database.strConnectionString)
Database.Connection.Open()
Database.Command = New SqlCommand
With Database.Command
.Connection = Database.Connection
.CommandType = CommandType.Text
.CommandText = "SELECT * FROM c03proveedor where c03nombre = '" & cbproveedor.Text & "'"
End With
Reader = Database.Command.ExecuteReader(CommandBehavior.Clo seConnection)
If Reader.HasRows = True Then
MsgBox("Ya existe")
Else
MsgBox("Es nuevo")
End If

End If
End Sub

donde cbproveedor es un ComboBox, pero se quiere que cuando este(ComboBox) pierda el Focus (cursor) presionando la tecla Tab, ejecute lo mismo. La idea NO es repetir todo el codigo o hacer un procedimiento, la idea es usar los recursos de VB.Net

Hice esto pero genera un error

Private Sub cbproveedor_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cbproveedor.KeyUp
If e.KeyCode = 9 Then
cbproveedor_KeyDown()
End If
End Sub

Please Ayuda
  #4 (permalink)  
Antiguo 13/12/2009, 12:33
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: de vb6 a vb.net Como??

Si entendí bien quieres que al estar dentro de una caja de texto (txtmanifiesto) y presionar enter se ejecute el código de tu botón (modificar)

Sería así:
Código vb.net:
Ver original
  1. If e.KeyCode = 13 Then
  2. cmdmodificar.PerformClick()
  3. End Sub

Esper te ayude
__________________
Eduardo Peredo
Wigoin
  #5 (permalink)  
Antiguo 13/12/2009, 12:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: de vb6 a vb.net Como??

NO es ta tecla Enter es la tecla TAB
  #6 (permalink)  
Antiguo 13/12/2009, 16:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: de vb6 a vb.net Como??

El Char(13) es el retorno de carro o "Enter" (vbCr o ControlChars.Cr), no la de tabulación (vbTab o ControlChars.Tab), que es el Char(9).
En todo caso usa:
Código vb.net:
Ver original
  1. If e.KeyCode = ControlChars.Tab Then
  2.     ' Sentencias del método o invocación a método.
  3. End Sub
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 13/12/2009 a las 16:33
  #7 (permalink)  
Antiguo 14/12/2009, 07:46
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
De acuerdo de vb6 a vb.net Como??

Ni lo uno ni lo otro esta es la solucion despues de 2 dias de busqueda

Private Sub txtcasillero_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtcasillero.KeyPress
If e.KeyChar = ControlChars.Tab Then
validar.PerformClick()
End If
End Sub

Si NO coloca esta funcion NO trabaja

Protected Overrides Function ProcessTabKey(ByVal forward As Boolean) As Boolean
MyBase.ProcessTabKey(forward)
End Function
  #8 (permalink)  
Antiguo 14/12/2009, 07:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: de vb6 a vb.net Como??

...tienes un problema en alguna parte, porque el método que te pasé funciona en VB.Net tanto con el VS 2003, el VS 2005 como el VS 2008...
¿Estás seguro que al debuggear, al menos entra en el evento KeyPress? Si es así, lo que te pasé debería funcionar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 14/12/2009, 09:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 15 años, 11 meses
Puntos: 3
De acuerdo de vb6 a vb.net Como??

Tranquilo Gracias, aqui no hay ningun problema, el problema lo tiene Microsoft. Por que en VB6 con Sp6, tampoco funciona. Pero el objetivo se cumplio
Gracias
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 12:06.