none
¿Porque no me funciona el teclado de borrar ? RRS feed

  • Pregunta

  • el proyecto lo obtuve de Aqui y lo extraño es que no me acepta el teclado borrar y su el de suprimir, hay alguna manera de validar y que me acepte el teclado de borrar???

     

    using System;
    using System.Windows.Forms;
    
    public class Form1: Form
    {
        public Form1()
        {
            TextBox tb = new TextBox();
            this.Controls.Add(tb);
            tb.KeyPress += new KeyPressEventHandler(keypressed);
        }
    
        private void keypressed(Object o, KeyPressEventArgs e)
        {
    
            if (e.KeyChar == (char)Keys.Return)
            {
                e.Handled = true;
            }
        }
    
        public static void Main()
        {
            Application.Run(new Form1());
        }
    }

    lunes, 23 de octubre de 2017 15:39

Todas las respuestas

  • Hola

    Aquí te está evaluando que si presionar la tecla "Borrar" = Return, te genere el evento, por ello al presionarla no funciona, si deseas hacerlo por otras teclas deberás enviarle el key de las que necesites, por ejemplo en tu caso el Supr:

     if (e.KeyChar == (char)Keys.Delete)
            {
                e.Handled = true;
            }
    Saludos


    Brayan De la Cruz
    Lima - Perú

    lunes, 23 de octubre de 2017 15:50
  • Buenas, 

    Ese código admite perfectamente todas las teclas salvo el enter, al pulsar un enter, entra en el if, y al hacer 

     e.Handled = true;

    hace que se "descarte" esa pulsación,

    Si lo que quieres es descartar más pulsaciones, por ejemplo enter y borrar

    if (e.KeyChar == (char)Keys.Return || e.KeyChar == (char)Keys.Back)
    {
        e.Handled = true;
    }

    Con eso evitaras en enter y el retroceso, pero con el código que tienes que nos has mostrado, si puedes pulsar borrar y suprimir y funcionaran correctamente, otra cosa es que tengas más código en algún sitio que no nos muestras.

    Si tienes alguna duda coméntanos

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    lunes, 23 de octubre de 2017 15:50
  • este es un codigo mas referenciado a mi trabajo.

    private void txtCodigo_KeyPress(object sender, KeyPressEventArgs e)
                {
                SoloNumeros(e);
                }
    
    
    public bool SoloNumeros(KeyPressEventArgs e)
                {
                if (char.IsNumber(e.KeyChar) == true)
                    {
                    e.Handled = false;
                    }
                else
                    {
                    e.Handled = true;
                    }
                return e.Handled;
                }
    
            

    acepta todos los numeros pero el borrar(ir atras) no lo acepta



    lunes, 23 de octubre de 2017 18:34
  • Necesitas validar si es la tecla Back

     private void textBox7_KeyPress(object sender, KeyPressEventArgs e)
            {
    
                if (e.KeyChar == Convert.ToChar(Keys.Back))
                {
                    
                    e.Handled = false;
                    return;
                }
                else
                {
                    SoloNumeros(e);
                }
    
            }

     Por otro lado evalúa si necesitarás la tecla Enter en el control si es así  agrega un or ||

    Saludos

    lunes, 23 de octubre de 2017 19:29
  • mmmm entonces añade para que acepte de esta forma:

     public bool SoloNumeros(KeyPressEventArgs e)
            {
                if (char.IsNumber(e.KeyChar)|| char.IsControl(e.KeyChar))
                {
                    e.Handled = false;
                }
                else
                {
                    e.Handled = true;
                }
                return e.Handled;
            }
    Saludos

    Brayan De la Cruz
    Lima - Perú

    lunes, 23 de octubre de 2017 19:46