private void bt_Digito_KeyPress(object sender, KeyPressEventArgs e) { etPantalla.Text = etPantalla.Text + e.KeyChar.ToString(); }
private void Form1_Load(object sender, EventArgs e) { textBox1.Enabled = false; // Puedes hacerlo en tiempo de diseño si lo deseas button1.Text = "&1"; button2.Text = "&2"; } private void button1_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "1"; } private void button2_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "2"; } // Añade el siguiente metodo al evento Keypress de tu formulario // y tus botones private void KeyPress_General(object sender, KeyPressEventArgs e) { switch (e.KeyChar) { // Tecla BackSpace (Retroceso) case '\b': if (textBox1.Text.Length > 0) textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1); break; } }
private void Form1_Load(object sender, EventArgs e) { etPantalla.Enabled = false; btDigito1.Text = "&1";// de momento solo pruebo con el dígito 1 }
private void btDigito_Click(object sender, EventArgs e) { Button objButton = (Button)sender; if (ultimaEntrada != Entrada.DIGITO) // al principio es NINGUNA { if (objButton.Text == "0") return; // return devuelve el control para que otro lo recoja etPantalla.Text = ""; ultimaEntrada = Entrada.DIGITO; comaDecimal = false; } etPantalla.Text += objButton.Text; }
private void bt_Digito_KeyPress(object sender, KeyPressEventArgs e) { switch (e.KeyChar) { // Tecla BackSpace (Retroceso) case '\b': if (etPantalla.Text.Length > 0) etPantalla.Text = etPantalla.Text.Substring(0, etPantalla.Text.Length - 1); break; // el siguiente case lo he puesto para ver si escribia sin el simbolo "&", pero ha sido en balde /* case '1': etpantalla.Text=etpantalla.Text+"1"; */ } }
etPantalla.Text += objButton.Text;
private void button1_Click(object sender, EventArgs e) { etPantalla.Text = etPantalla.Text + "1"; }
private void button1_Click(object sender, EventArgs e) { Button objButton = (Button)sender; etPantalla.Text += objButton.Text; }
private void Form2_Load(object sender, EventArgs e) { etPantalla.Enabled = false; // Ya no utilices el & para poder // capturar el evento keypress en el metodo // bt_Digito_KeyPress btDigito1.Text = "1"; btDigito2.Text = "2"; } private void btDigito_Click(object sender, EventArgs e) { Button objButton = (Button)sender; if (ultimaEntrada != Entrada.DIGITO) // al principio es NINGUNA { if (objButton.Text == "0") return; // return devuelve el control para que otro lo recoja etPantalla.Text = ""; ultimaEntrada = Entrada.DIGITO; comaDecimal = false; } etPantalla.Text += objButton.Text; } private void bt_Digito_KeyPress(object sender, KeyPressEventArgs e) { switch (e.KeyChar) { // Tecla BackSpace (Retroceso) case '\b': if (etPantalla.Text.Length > 0) etPantalla.Text = etPantalla.Text.Substring(0, etPantalla.Text.Length - 1); break; // Ahora que eliminaste el & // si podras capturar el keypress aca case '1': etPantalla.Text = etPantalla.Text + "1"; break; case '2': etPantalla.Text = etPantalla.Text + "2"; break; } }
Si borras la pantalla, debes volber a pulsar un botón desde el teclado virtual, y luego ya puedes seguir con el normal...
private void Form1_Load(object sender, EventArgs e) { etPantalla.Enabled = false; // Ya no utilices el & para poder // capturar el evento keypress en el metodo // bt_Digito_KeyPress btDigito1.Text = "1"; btDigito2.Text = "2"; // Añades el evento KeyPress al boton de borrado this.btClear.KeyPress += new KeyPressEventHandler(this.bt_Digito_KeyPress); // Añades el evento KeyPress al Formulario this.KeyPress += new KeyPressEventHandler(this.bt_Digito_KeyPress); }
etpantalla.Focus()