No puedo detectar cuando se presiona la tecla Tab

07/03/2007 - 22:31 por Rosario | Informe spam
Hola a todos, tengo una aplicación en la cual tengo un TextBox de
busqueda, es decir una vez que se captura la información en este textbox
y se presiona la tecla Enter se ejecuta una función de busqueda, bueno,
todo esto esta correcto el problema es que quiero hacer que esta misma
función también se ejecute al momento de que se presione la tecla Tab
(Tabulador) pero no funciona con la tecla tab.

Tengo los siguientes 3 códigos y en ninguno funciona la tecla Tab:

(1)
private void txtNoFactura_KeyUp(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.Enter) || (e.KeyCode == Keys.Tab))
{
busca_numero_factura(txtNoFactura.Text);
}
}

(2)
private void txtNoFactura_KeyPress(object sender, KeyPressEventArgs e)
{

if (e.KeyChar == (char)Keys.Tab)
{
busca_numero_factura(txtNoFactura.Text);
}
}

(3)
private void txtNoFactura_AcceptsTabChanged(object sender, EventArgs e)
{
busca_numero_factura(txtNoFactura.Text);
}

Alguien me púede ayudar por favor, Muchas gracias.


NOTA: También habilité (true) la propiedad "AcceptsTab" del TextBox y ni
asi funciona.
 

Leer las respuestas

#1 AT Baez
08/03/2007 - 01:11 | Informe spam
Hola Rosario,

Mira pones la propiedad keypreview del form a true. Después escribe tu
código en la propiedad keyup del form. Algo así:

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab || e.KeyCode == Keys.Enter)
MessageBox.Show("Se pulso <TAB> o <ENTER> en el evento KeyUp del
Form");
}
A mí me funciona también así (que básicamente es lo que tú tienes):

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
MessageBox.Show("La tecla de <TAB> se pulso en el evento KeyUp");

else if (e.KeyCode == Keys.Enter)
MessageBox.Show("La tecla de <ENTER> se pulso en el evento KeyUp");
}
Espero que te ayude.

Alberto
"Rosario" wrote in message
news:
Hola a todos, tengo una aplicación en la cual tengo un TextBox de
busqueda, es decir una vez que se captura la información en este textbox y
se presiona la tecla Enter se ejecuta una función de busqueda, bueno, todo
esto esta correcto el problema es que quiero hacer que esta misma función
también se ejecute al momento de que se presione la tecla Tab (Tabulador)
pero no funciona con la tecla tab.

Tengo los siguientes 3 códigos y en ninguno funciona la tecla Tab:

(1)
private void txtNoFactura_KeyUp(object sender, KeyEventArgs e)
{
if ((e.KeyCode == Keys.Enter) || (e.KeyCode == Keys.Tab))
{
busca_numero_factura(txtNoFactura.Text);
}
}

(2)
private void txtNoFactura_KeyPress(object sender, KeyPressEventArgs e)
{

if (e.KeyChar == (char)Keys.Tab)
{
busca_numero_factura(txtNoFactura.Text);
}
}

(3)
private void txtNoFactura_AcceptsTabChanged(object sender, EventArgs e)
{
busca_numero_factura(txtNoFactura.Text);
}

Alguien me púede ayudar por favor, Muchas gracias.


NOTA: También habilité (true) la propiedad "AcceptsTab" del TextBox y ni
asi funciona.

Preguntas similares