我需要趕上KeyDown
& 爲1,2,3,4,5,6,7,8,9
鍵盤按鍵特別KeyUp
事件。如何捕獲KeyUp事件? (的代碼示例,請)
它是如何做的?
我可以趕上KeyDown
事件,但KeyUp?
請提供一些簡單的代碼。
我需要趕上KeyDown
& 爲1,2,3,4,5,6,7,8,9
鍵盤按鍵特別KeyUp
事件。如何捕獲KeyUp事件? (的代碼示例,請)
它是如何做的?
我可以趕上KeyDown
事件,但KeyUp?
請提供一些簡單的代碼。
private void Form1_Load(object sender, EventArgs e)
{
this.KeyUp += new KeyEventHandler(Form1_KeyUp);
}
void Form1_KeyUp(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.NumPad1:
break;
case Keys.NumPad2:
break;
//...
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.D1) // number 1
{
MessageBox.Show("Hello");
}
}
如果您需要的邏輯是完全一樣的,那麼你可以在同一事件處理程序掛接到既要捕獲輸入控件的KEYUP和的KeyDown事件。
// this occurs as part of Initialisation via the designer or you can hook up manually
myControl.KeyDown += myControl_KeyChange;
myControl.KeyUp += myControl_KeyChange;
// ...
private void myControl_KeyChange(object sender, KeyEventArgs e)
{
switch(e.KeyCode)
{
case Keys.1:
{
// handle the 1 key being pressed
break;
}
case Keys.2:
{
// handle the 2 key being pressed
break;
}
// etc
}
}
不要忘記啓用KeyPreview – RvdK 2010-09-09 08:47:19