C#学院项目枚举
我现在正在做一个简单的计算器,让我们重新开始大学生活。 除了我试图通过键盘赋值外,一切都很正常,即按加号加减号 但是,当我输入一个数字并按下add按钮时,它会做所有正确的事情,但不会清除加号文本框。为什么会这样C#学院项目枚举,c#,C#,我现在正在做一个简单的计算器,让我们重新开始大学生活。 除了我试图通过键盘赋值外,一切都很正常,即按加号加减号 但是,当我输入一个数字并按下add按钮时,它会做所有正确的事情,但不会清除加号文本框。为什么会这样 private void tbOne_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Add) { total1 += double.Parse(tbOn
private void tbOne_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Add)
{
total1 += double.Parse(tbOne.Text);
tbTwo.Text = tbOne.Text + btnPlus.Text;
tbOne.Clear();
plusButtonC = true;
minusButtonC = false;
divideButton = false;
multiplyButton = false;
}
}
您需要向事件指示您有按键,以防止按键被传递到标准Windows事件处理程序。还可以防止将密钥添加到文本框中。添加以下行:
e.Handled = true;
e.SuppressKeyPress = true;
值得注意的是,设置SuppressKeyPress
也会设置Handled
,但我喜欢明确
正如@grantwiney在评论中指出的,如果是WPF,则只需设置
Handled
尝试使用KeyUp
事件。是否确实清除了正确的文本框?什么是“枚举”?这是WPF还是Winforms?请始终标记!这对双方都有效。如果是WPF,则只需使用e.Handled
并省略e.SuppressKeyPress
。