C# 在C中捕获事件窗体按钮按下的问题#
我是C#net的新手。正如我所说的,我有问题捕捉事件形式的按钮按下。 这是我的项目: 我正在写一个计算器程序,当我用鼠标按窗体上的按钮时,它工作得很好。但我想用键盘输入数字,当我按enter键时,它会返回结果。所以我用了这个:C# 在C中捕获事件窗体按钮按下的问题#,c#,forms,events,button,calculator,C#,Forms,Events,Button,Calculator,我是C#net的新手。正如我所说的,我有问题捕捉事件形式的按钮按下。 这是我的项目: 我正在写一个计算器程序,当我用鼠标按窗体上的按钮时,它工作得很好。但我想用键盘输入数字,当我按enter键时,它会返回结果。所以我用了这个: private void FrmCalculator_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { /*case Keys.Ent
private void FrmCalculator_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
/*case Keys.Enter:
btnBang_Click(new object(), new EventArgs());
break;*/
case Keys.Back:
btnBackSpace_Click(new object(), new EventArgs());
break;
case Keys.Escape:
btnReset_Click(new object(), new EventArgs());
break;
}
}
这是:
private void FrmCalculator_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case '0':
btn0_Click(new object(), new EventArgs());
break;
case '1':
btn1_Click(new object(), new EventArgs());
break;
case '2':
btn2_Click(new object(), new EventArgs());
break;
case '3':
btn3_Click(new object(), new EventArgs());
break;
case '4':
btn4_Click(new object(), new EventArgs());
break;
case '5':
btn5_Click(new object(), new EventArgs());
break;
case '6':
btn6_Click(new object(), new EventArgs());
break;
case '7':
btn7_Click(new object(), new EventArgs());
break;
case '8':
btn8_Click(new object(), new EventArgs());
break;
case '9':
btn9_Click(new object(), new EventArgs());
break;
case '.':
btnCham_Click(new object(), new EventArgs());
break;
case '+':
btnCong_Click(new object(), new EventArgs());
break;
case '-':
btnTru_Click(new object(), new EventArgs());
break;
case '*':
btnNhan_Click(new object(), new EventArgs());
break;
case '/':
btnChia_Click(new object(), new EventArgs());
break;
}
}
它与按钮1、2、3等完美配合。但是如果我在表单中按Enter而不是button=,结果将是错误的!
谁能解释我的问题并告诉我如何解决?非常感谢
请原谅我的英语不好:)你可以用这种方式
此代码首先设置窗体加载事件中的活动控件
this.ActiveControl = txtDuLieu;
然后在FrmCalculator\u按键
方法中添加以下大小写
case ((char) (13)):
//Call your Event
break;
13是输入键Ascii码您可以这样使用
此代码首先设置窗体加载事件中的活动控件
this.ActiveControl = txtDuLieu;
然后在FrmCalculator\u按键
方法中添加以下大小写
case ((char) (13)):
//Call your Event
break;
13是输入键Ascii码