2010-09-09 37 views

回答

5
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; 
      //... 
    } 
} 
+0

不要忘記啓用KeyPreview – RvdK 2010-09-09 08:47:19

0
 private void Form1_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyData == Keys.D1) // number 1 
     { 
      MessageBox.Show("Hello"); 
     } 
    } 
0

如果您需要的邏輯是完全一樣的,那麼你可以在同一事件處理程序掛接到既要捕獲輸入控件的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 
    } 
}