C# 如何使用我创建的计算器应用程序绑定键盘数字?
嗨,我已经创建了一个窗口计算器,它工作得很好,但是,我想能够使用我的键盘数字以及我的计算器应用程序。我该怎么办?这是我的密码C# 如何使用我创建的计算器应用程序绑定键盘数字?,c#,winforms,C#,Winforms,嗨,我已经创建了一个窗口计算器,它工作得很好,但是,我想能够使用我的键盘数字以及我的计算器应用程序。我该怎么办?这是我的密码 public partial class Form1 : Form { Double resultValue = 0; String operationPerformed = ""; bool isOperationPerformed = false; public Form1() { Initi
public partial class Form1 : Form
{
Double resultValue = 0;
String operationPerformed = "";
bool isOperationPerformed = false;
public Form1()
{
InitializeComponent();
}
private void button_click(object sender, EventArgs e)
{
if ((textBox_Result.Text == "0") || (isOperationPerformed))
textBox_Result.Clear();
isOperationPerformed = false;
Button button = (Button)sender;
if (button.Text == ".")
{
if (!textBox_Result.Text.Contains("."))
textBox_Result.Text = textBox_Result.Text + button.Text;
} else
textBox_Result.Text = textBox_Result.Text + button.Text;
}
private void operator_click(object sender, EventArgs e)
{
Button button = (Button)sender;
if (resultValue != 0)
{
EqualsToBtn.PerformClick();
operationPerformed = button.Text;
labelCurrentOperation.Text = resultValue + " " + operationPerformed;
isOperationPerformed = true;
}else
{
operationPerformed = button.Text;
resultValue = Double.Parse(textBox_Result.Text);
labelCurrentOperation.Text = resultValue + " " + operationPerformed;
isOperationPerformed = true;
}
}
private void RefreshBtn_Click(object sender, EventArgs e)
{
textBox_Result.Text = "0";
}
private void CancelBtn_Click_1(object sender, EventArgs e)
{
textBox_Result.Text = "0";
resultValue = 0;
}
private void EqualsToBtn_Click_1(object sender, EventArgs e)
{
switch (operationPerformed)
{
case "+":
textBox_Result.Text = (resultValue + Double.Parse(textBox_Result.Text)).ToString();
break;
case "-":
textBox_Result.Text = (resultValue - Double.Parse(textBox_Result.Text)).ToString();
break;
case "*":
textBox_Result.Text = (resultValue * Double.Parse(textBox_Result.Text)).ToString();
break;
case "/":
textBox_Result.Text = (resultValue / Double.Parse(textBox_Result.Text)).ToString();
break;
}
resultValue = Double.Parse(textBox_Result.Text);
labelCurrentOperation.Text = "";
}
}
}
你可以使用
您可以通过订阅
KeyDown
事件来实现它
首先,需要将KeyPreview
设置为true
public Form1()
{
InitializeComponent();
KeyPreview = true;
}
然后使用开关
判断按下了哪个键
public Form1()
{
InitializeComponent();
KeyPreview = true;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.NumPad0:
case Keys.D0:
// Zero
buttonnum0.PerformClick(); // simulate pressing buttonnum0
break;
case Keys.NumPad1:
case Keys.D1:
// One
buttonnum1.PerformClick();
break;
// ... etc
case Keys.Oemplus:
case Keys.Add:
// Plus
buttonplus.PerformClick();
break;
default:
return;
}
e.Handled = true;
}