我制作了一个方法,可以检测按键何时被按下,但是它无效!继承我的代码
void KeyDetect(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.W && firstload == true)
{
MessageBox.Show("Good, now move to that box over to your left");
firstload = false;
}
}
我也尝试制作一个keyeventhandler但是,它“无法分配给密钥检测,因为它是一个方法组”
public Gwindow()
{
this.KeyDetect += new KeyEventHandler(KeyDetect);
InitializeComponent();
}
答案 0 :(得分:5)
使用这样的按键事件:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyCode == Keys.F1 && e.Alt)
{
//do something
}
}
答案 1 :(得分:1)
您正在寻找this.KeyPress
。请参阅How to Handle Keypress Events on MSDN。
答案 2 :(得分:1)
答案 3 :(得分:0)
1)转到表单的属性
2)查找“其他”部分,并确保“ KeyPreview”设置为“真”
3)转到表单的事件
4)查找“按键”部分,然后双击“ KeyDown”以生成处理按键事件的功能
这是一些示例代码:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
Console.WriteLine("You pressed " + e.KeyCode);
if (e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0)
{
//Do Something if the 0 key is pressed (includes Num Pad 0)
}
}