我使用以下代码来处理小键盘键。
if (e.KeyCode == Keys.NumPad0 || e.KeyCode == Keys.D0)
{
MessageBox.Show("You have pressed numpad0");
}
if (e.KeyCode == Keys.NumPad1 || e.KeyCode == Keys.D1)
{
MessageBox.Show("You have pressed numpad1");
}
还有其他小键盘键。但是我想知道我怎么能用“+”,“*”,“/”,“ - ”,“。”这个位于小键盘旁边。
提前致谢
答案 0 :(得分:10)
查看整个Keys
enum。您有Keys.Mutiply
,Keys.Add
等等。
请注意Keys.D0
不 numpad 0,它是非小键盘0。
答案 1 :(得分:4)
" +" ," *" ," /" ,我们可以使用KeyDown事件和" - " ,"。"我们可以使用KeyPress事件。
以下是代码:
private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Add)
{
MessageBox.Show("You have Pressed '+'");
}
else if (e.KeyCode == Keys.Divide)
{
MessageBox.Show("You have Pressed '/'");
}
else if (e.KeyCode == Keys.Multiply)
{
MessageBox.Show("You have Pressed '*'");
}
}
private void button1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '.')
{
MessageBox.Show("You have pressed '.'");
}
else if (e.KeyChar == '-')
{
MessageBox.Show("You have pressed '-'");
}
}
答案 2 :(得分:-1)
我使用switch
让我的工作。
我正在制作一个计算器,甚至在目标文本框上创建了一个KeyDown。然后我用了:
switch (e.KeyCode)
{
case Keys.NumPad1:
tbxDisplay.Text = tbxDisplay.Text + "1";
break;
case Keys.NumPad2:
tbxDisplay.Text = tbxDisplay.Text + "2";
break;
case Keys.NumPad3:
tbxDisplay.Text = tbxDisplay.Text + "3";
break;
}
等
另一件需要考虑的事情是,如果用户随后单击屏幕上的按钮,则焦点将从文本框中丢失,并且键条目将不再起作用。但这很容易用按钮上的.focus()修复。
答案 3 :(得分:-1)
有一种简单的方法可以学习所有的键码,而无需查看手册。
创建一个表单然后去表单的KeyDown事件然后添加这个
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyCode.ToString());
}
然后你会得到你在键盘上按下的任意键的名称