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

C#: Como puedo sustituir la tecla TAB por Enter ??

Estas en el tema de C#: Como puedo sustituir la tecla TAB por Enter ?? en el foro de .NET en Foros del Web. Lo que pasa es que para cambiar de un textbox a otro debo hacerlo con TAB. Como puedo hacerlo para que despues que digite lo ...
  #1 (permalink)  
Antiguo 10/04/2008, 21:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
C#: Como puedo sustituir la tecla TAB por Enter ??

Lo que pasa es que para cambiar de un textbox a otro debo hacerlo con TAB.
Como puedo hacerlo para que despues que digite lo necesario en el textbox pueda presionar <Enter> y pasar al otro campo ?

Manuel.
  #2 (permalink)  
Antiguo 11/04/2008, 11:53
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

debes identificar la tacla que estan digitando en el control textbox, en tu caso debes identificar que es un enter para asi definir la accion a seguir

aqui esta el ejemplo
http://forosdotnet.com/viewtopic.php...=73&p=200#p200
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 11/04/2008, 13:37
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, 5 meses
Puntos: 2658
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Se puede controlar con el evento OnKeyPress()
Cuando el valor de KeyChar es ControlChars.Cr, es que se ha pulsado <Enter> dentro del TextBox
  #4 (permalink)  
Antiguo 11/04/2008, 13:40
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

de hecho es el evento KeyDown

If e.KeyCode = Keys.Enter Then
Me.TextBox3.Focus()
End If
__________________
roy rojas
Programación en Español: DotNetcr.com
  #5 (permalink)  
Antiguo 11/04/2008, 13:56
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

trato de ejecutar esto

private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
If e = Keys.Enter Then
Me.txtCantidad.Focus()
End If;

}

es como si el then no me lo reconociera.

¿¿??
  #6 (permalink)  
Antiguo 11/04/2008, 13:57
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

es asi, te falto ponerle el e.KeyCode

e.KeyCode = Keys.Enter
__________________
roy rojas
Programación en Español: DotNetcr.com
  #7 (permalink)  
Antiguo 11/04/2008, 14:05
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Cita:
Iniciado por royrojas Ver Mensaje
es asi, te falto ponerle el e.KeyCode

e.KeyCode = Keys.Enter

aun me persiste el error

private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
If e.KeyCode = Keys.Enter then
Me.txtCantidad.Focus()
End If;

}

me hace mencion que me faltan los puntos y comas ¿¿???
nota: al escribir por ejemplo then , es como si no me reconociera el comando
me faltara algo en el designer?

manuel
  #8 (permalink)  
Antiguo 11/04/2008, 14:31
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

es c# o vb net

veo una mezcla

si es c#

private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
If( e.KeyCode = Keys.Enter)
Me.txtCantidad.Focus();

}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 11/04/2008, 14:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Cita:
Iniciado por Peterpay Ver Mensaje
es c# o vb net

veo una mezcla

si es c#

private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
If( e.KeyCode = Keys.Enter)
Me.txtCantidad.Focus();

}
ES C#

Peter, al ejecutar me dice que falta el punto y coma despues de If( e.KeyCode = Keys.Enter)
le coloco el punto y coma ==> If( e.KeyCode = Keys.Enter) ;
y despues me salen estos errores

Error 1 El nombre 'If' no existe en el contexto actual C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 383 13 GesCas

Error 2 No se puede asignar la propiedad o el indizador 'System.Windows.Forms.KeyEventArgs.KeyCode' (es de sólo lectura) C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 383 16 GesCas

Error 3 El nombre 'Me' no existe en el contexto actual C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 384 13 GesCas
  #10 (permalink)  
Antiguo 11/04/2008, 14:49
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

en efecto... cuestiones de sintaxis mi estimado ManuelV...
Código:
private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
   (1)if( e.KeyCode (2)== Keys.Enter)  
   (3)this.txtCantidad.Focus(); //Aunq aqui creo q no tendria pq ir el 'THIS'
}
El código va sin los numeros entre paréntesis... digo, por si solo COPY & PASTE funciona con vos...
Esto solo los puse pa' q sepas como fue el cambio según los errores q te marcaba el compilador

Por aqui andamos

Última edición por jlbautista; 11/04/2008 a las 15:04
  #11 (permalink)  
Antiguo 11/04/2008, 14:56
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

If (con mayúscula) es VB; if (con menosyúscula, decia El Chavo) es C#
---
= (signo de 'igual') se puede usar pa' comparar en VB; = es ASIGNACION en C#, y para COMPARACION es == ('doble igual')
---
Me (en VB) hace referencia al form y/u Objeto actual (si mal no recuerdo); en C# se usa 'this'
  #12 (permalink)  
Antiguo 11/04/2008, 15:01
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

cierto jlbautista , maldita sintaxis pero con 2 horas de sueño luego se barre
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5

Última edición por Peterpay; 11/04/2008 a las 15:25
  #13 (permalink)  
Antiguo 11/04/2008, 15:03
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Cita:
Iniciado por Peterpay Ver Mensaje
sierto jlbautista , maldita sintaxis pero con 2 horas de sueño luego se barre
Jejeje... suele pasar... (Maldito Murphy)
Aqui seguimos... aunq solo un rato, pq POR FIN ES VIERNES !!

Saludos...
  #14 (permalink)  
Antiguo 11/04/2008, 15:39
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Cita:
Iniciado por jlbautista Ver Mensaje
Jejeje... suele pasar... (Maldito Murphy)
Aqui seguimos... aunq solo un rato, pq POR FIN ES VIERNES !!

Saludos...
estimados ahora no me salen errores, lo malo es que el enter no funciona ..:(
no me salta al campo txtCantidad

private void txtNroPersonas_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
this.txtCantidad.Focus();
}

pense que me podia faltar esto en el designer

this.txtCantidad.KeyDown += new System.Windows.Forms.KeyEventArgs(this.txtCantidad _KeyDown);

pero me sale este error al agregarlo

Error 1 La mejor coincidencia de método sobrecargado para 'System.Windows.Forms.KeyEventArgs.KeyEventArgs(Sy stem.Windows.Forms.Keys)' tiene algunos argumentos no válidos C:\Proyectos Visual.NET\GesCas\GesCas\Form1.Designer.cs 74 38 GesCas

Última edición por ManuelV; 11/04/2008 a las 15:54
  #15 (permalink)  
Antiguo 11/04/2008, 16:29
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Casi casi...te faltó poco

seria asi.

Código:
        private void textBox1_KeyDown(object sender, KeyEventArgs e) 
        {
            if (e.KeyCode == Keys.Enter)
                this.textBox2.Focus();
        }
y en el designer algo asi

Código:
this.textBox1.KeyDown += this.textBox1_KeyDown;
__________________
roy rojas
Programación en Español: DotNetcr.com
  #16 (permalink)  
Antiguo 11/04/2008, 16:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

Cita:
Iniciado por royrojas Ver Mensaje
Casi casi...te faltó poco

seria asi.

Código:
        private void textBox1_KeyDown(object sender, KeyEventArgs e) 
        {
            if (e.KeyCode == Keys.Enter)
                this.textBox2.Focus();
        }
y en el designer algo asi

Código:
this.textBox1.KeyDown += this.textBox1_KeyDown;

excelente ..gracias!!!
  #17 (permalink)  
Antiguo 11/04/2008, 23:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: C#: Como puedo sustituir la tecla TAB por Enter ??

la solucion me esta funcionando perfecto...pero porque pasa que cada vez que modifico el formulario se desaparece en el form.designer el codigo:

this.txtProducto.KeyDown += this.txtProducto_KeyDown;

this.txtNroPersonas.KeyDown += this.txtNroPersonas_KeyDown;

manuel
  #18 (permalink)  
Antiguo 21/06/2010, 11:44
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: C#: Como puedo sustituir la tecla TAB por Enter ??

Aquí hay una solución interesante, donde no solamente se selecciona un objeto específico sino lo que hace es enviar el select al siguiente objeto de texto
Dice Asi
(esto es en Vb... sin embargo creo que se puede usar con C#)

' Primero creamos la función que será llamada al presionar la tecla enter
' Esta función recibe como parámetro la forma que contiene los campos de texto

Public Sub tab(ByRef forma As Form)
forma.SelectNextControl(CType(forma.ActiveControl, TextBox), True, True, True, False)
End Sub

'El llamado a la función se puede hacer desde el evento KeyPress o KeyDown del TextBox
'En este ejemplo lo llamé en el KeyDown

Private Sub TxtNumDocUsuario_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtNumDocUsuario.KeyDown
If (e.KeyCode = Keys.Enter) Then
tab(Me)
End If
End Sub

Espero que les sirva, lo importante aqui es esta parte del código

forma.SelectNextControl(CType(forma.ActiveControl, TextBox), True, True, True, False)

Donde "forma" es el formulario en el que se está trabajando, si no se hace por función sino directo, entonces puedes reemplazar la palabra "forma" por la palabra "me"

Dudas sobre el tema... me comentan

Cordial Saludo
Ing. Carolina Gallo
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 00:32.