2012-08-04 83 views
10

基本上,我希望能夠在按下ENTER鍵時觸發事件。我已經試過了:如何知道何時在文本框中按下回車鍵?

private void input_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.Equals("{ENTER}")) 
     { 
      MessageBox.Show("Pressed enter."); 
     } 
    } 

但是MessageBox從不出現。我怎樣才能做到這一點?

+6

在KeyUp上執行此操作可能是一個好主意(取決於您的情況)。 KeyUp每次釋放一個密鑰時會被調用一次,但是當key被關閉時keydown被不斷調用。 – 2012-08-04 05:32:55

回答

19

給這個一杆...

private void input_KeyDown(object sender, KeyEventArgs e) 
{       
    if(e.KeyData == Keys.Enter) 
    { 
     MessageBox.Show("Pressed enter."); 
    }    
} 
+0

謝謝你,這非常有用,足以讓我找到自己的實際語法。我的語法是:if(e.Key == Key.Enter)//使用System.Windows.Input – user2010136 2016-07-28 22:04:38

0

你也可以這樣做:

private void input_KeyDown(object sender, KeyEventArgs e) 
    {       
    if(e.KeyCode== Keys.Enter) 
    { 
     //Your business logic here. 
    }    
    } 

KeyCode VS KeyData唯一的區別是,KeyCode可以檢測KeyCode修飾符組合(例如CTRL ,Shift + A),你不需要在這裏。

相關問題