数字键盘上的快捷键 [英] Shortcut keys from numeric keypad
本文介绍了数字键盘上的快捷键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将访问密钥添加到一个小计算器应用程序中.当用户在数字键盘上选择0到9时,必须按下数字.
I would like to add access keys to a little calculator application. The numbers have to be pressed when the user selects 0 to 9 on the numeric keypad.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace TestApplication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn1_Click(object sender, EventArgs e)
{
txtDisplay.Text += "1";
}
private void btn2_Click(object sender, EventArgs e)
{
txtDisplay.Text += "2";
}
private void btn3_Click(object sender, EventArgs e)
{
txtDisplay.Text += "3";
}
private void btn4_Click(object sender, EventArgs e)
{
txtDisplay.Text += "4";
}
private void btn5_Click(object sender, EventArgs e)
{
txtDisplay.Text += "5";
}
private void btn6_Click(object sender, EventArgs e)
{
txtDisplay.Text += "6";
}
private void btn7_Click(object sender, EventArgs e)
{
txtDisplay.Text += "7";
}
private void btn8_Click(object sender, EventArgs e)
{
if (digitsOnDisplay < Max_Digits_On_Display)
{
txtDisplay.Text += "8";
digitsOnDisplay++;
}
}
private void btn9_Click(object sender, EventArgs e)
{
if (digitsOnDisplay < Max_Digits_On_Display)
{
txtDisplay.Text += "9";
digitsOnDisplay++;
}
}
private void btn0_Click(object sender, EventArgs e)
{
if (digitsOnDisplay < Max_Digits_On_Display)
{
txtDisplay.Text += "0";
digitsOnDisplay++;
}
}
private void buttonDecimal_Click(object sender, EventArgs e)
{
if (digitsOnDisplay < Max_Digits_On_Display)
{
txtDisplay.Text += ".";
digitsOnDisplay++;
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
if (number1 == 0)
{
number1 = Convert.ToDouble(txtDisplay.Text);
op = "+";
}
else
{
number2 = Convert.ToDouble(txtDisplay.Text);
op = "+";
}
txtDisplay.Text = "";
}
private void btnSubtract_Click(object sender, EventArgs e)
{
if (number1 == 0)
{
number1 = Convert.ToDouble(txtDisplay.Text);
op = "-";
}
else
{
number2 = Convert.ToDouble(txtDisplay.Text);
op = "-";
}
txtDisplay.Text = "";
}
private void btnMultiply_Click(object sender, EventArgs e)
{
if (number1 == 0)
{
number1 = Convert.ToDouble(txtDisplay.Text);
op = "*";
}
else
{
number2 = Convert.ToDouble(txtDisplay.Text);
op = "*";
}
txtDisplay.Text = "";
}
private void btnDivide_Click(object sender, EventArgs e)
{
if (number1 == 0)
{
number1 = Convert.ToDouble(txtDisplay.Text);
op = "/";
}
else
{
number2 = Convert.ToDouble(txtDisplay.Text);
op = "/";
}
txtDisplay.Text = "";
}
private void btnResult_Click(object sender, EventArgs e)
{
if (number1 == 0)
{
number1 = Convert.ToDouble(txtDisplay.Text);
}
else
{
number2 = Convert.ToDouble(txtDisplay.Text);
}
double _resultAsDouble;
String _resultAsString;
switch (op)
{
case "+":
{
_resultAsDouble = number1 + number2;
_resultAsString = _resultAsDouble.ToString();
txtDisplay.Text = _resultAsString;
break;
}
case "-":
{
_resultAsDouble = number1 - number2;
_resultAsString = _resultAsDouble.ToString();
txtDisplay.Text = _resultAsString;
break;
}
case "*":
{
_resultAsDouble = number1 * number2;
_resultAsString = _resultAsDouble.ToString();
txtDisplay.Text = _resultAsString;
break;
}
case "/":
{
_resultAsDouble = number1 + number2;
_resultAsString = _resultAsDouble.ToString();
txtDisplay.Text = _resultAsString;
break;
}
}
number1 = 0;
number2 = 0;
op = "";
}
private double number1 = 0;
private double number2 = 0;
private short digitsOnDisplay = 0;
private const short Max_Digits_On_Display = 15;
private String op;
private void btnClearAll_Click(object sender, EventArgs e)
{
txtDisplay.Text = "";
number1 = 0;
number2 = 0;
op = "";
}
}
}
推荐答案
作为一种通用方法,可以使用以下代码:
As a generic way, you can use the below code:
this.btn1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.btn1_KeyPress);
private void btn1_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar()=='1')
{
//ur code
}
}
这篇关于数字键盘上的快捷键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文