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

al pulsar enter hacer como si fuera pulsar el boton [c#]

Estas en el tema de al pulsar enter hacer como si fuera pulsar el boton [c#] en el foro de .NET en Foros del Web. bueno, tengo un programa tipo chat: quiero hacer que al escribir en la barra de abajo se pueda pulsar enter y se active el botón ...
  #1 (permalink)  
Antiguo 09/07/2009, 11:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 3 meses
Puntos: 4
al pulsar enter hacer como si fuera pulsar el boton [c#]

bueno, tengo un programa tipo chat:


quiero hacer que al escribir en la barra de abajo se pueda pulsar enter y se active el botón (para no tener que estar dándole manualmente al botón)

como seria?

Gracias.
  #2 (permalink)  
Antiguo 09/07/2009, 11:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

prueba asi en el evento keydown de la caja de texto

Código vb.net:
Ver original
  1. If e.KeyCode = Keys.Enter Then
  2.    ' procedimiento del boton
  3. End If
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 09/07/2009, 11:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 3 meses
Puntos: 4
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

Cita:
Iniciado por Dradi7 Ver Mensaje
prueba asi en el evento keydown de la caja de texto

Código vb.net:
Ver original
  1. If e.KeyCode = Keys.Enter Then
  2.    ' procedimiento del boton
  3. End If
eso es para vb no? lo necesito para c#
  #4 (permalink)  
Antiguo 09/07/2009, 11:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 3 meses
Puntos: 4
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

ya he descubierto como hacerlo, gracias por la sugerencia de e.KeyCode y Keys.Enter

Código:
private void txtenviar_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) {
}
}
y declarando:
Código:
this.txtenviar.KeyDown += this.txtenviar_KeyDown;
  #5 (permalink)  
Antiguo 09/07/2009, 11:58
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

Hola que tal, la forma rapida que se me ocurrio fue lo siguiente

Código:
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            addtext();
        }
        public void addtext()
        {
            listBox1.Items.Add(textBox1.Text);
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            string a;
            a = Convert.ToString(e.KeyChar);

            if (a == "\r" )
            {
                addtext();
            }
        }
    }
La idea es de que realices una función de lo que quieras que realice por ejemplo que agregue el texto al listbox (en el caso de mi ejemplo), y lo llames en el evento click del boton. Cuando le des enter en la caja de texto te agregue la cadena mandas a llamar de nueva la función en ese caso al addtext. En el evento keypress lo que hacemos es convertir lo que trae e.keychar a string y lo comparamos con "\r" que vendría siendo el enter; si la tecla pulsada es el enter que agregue el texto.

Bueno espero haberme dado a entender.

Saludos.
  #6 (permalink)  
Antiguo 09/07/2009, 12:13
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

Que bueno que ya tiene resuelto tu situación, saludos, ahh por cierto para no utilizar una variable de más puedes hacer lo siguiente (sobre el ejemplo que proporcione)

Código:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Convert.ToString(e.KeyChar) == "\r")
            {
                addtext();
            }
        }
  #7 (permalink)  
Antiguo 09/07/2009, 17:51
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 3 meses
Puntos: 4
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

tengo un problema, tengo en form1.designer.cs la linea:
this.txtenviar.KeyDown += this.txtenviar_KeyDown;

pero cuando me voy al form1.cs este automáticamente me la borra del otro archivo...
  #8 (permalink)  
Antiguo 09/07/2009, 17:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 3 meses
Puntos: 4
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

Cita:
Iniciado por felix46 Ver Mensaje
tengo un problema, tengo en form1.designer.cs la linea:
this.txtenviar.KeyDown += this.txtenviar_KeyDown;

pero cuando me voy al form1.cs este automáticamente me la borra del otro archivo...
ya lo he reparado creando el evento bajo el form1.cs
  #9 (permalink)  
Antiguo 24/03/2012, 19:15
Avatar de Joty89  
Fecha de Ingreso: marzo-2012
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: al pulsar enter hacer como si fuera pulsar el boton [c#]

No veo la necesidad de crear eventos

Lo mas factible es esto:

en el formulario existe una propiedad denominada

AcceptButton, ahy es done denominan el boton que quieren que sea reemplazado por el enter
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 08:32.