我有一個winform應用程序,它有兩個文本框和一個按鈕。如果控件焦點位於任何文本框,並且用戶單擊鍵盤「輸入」按鈕。應該調用按鈕事件。如何捕獲文本框的按鍵事件?
問題是我無法找到TextBox_KeyDown捕獲「Enter」鍵按下。在Visual Studio編輯器中,KeyDown,KeyPress,Keyup屬性爲空。
我有一個winform應用程序,它有兩個文本框和一個按鈕。如果控件焦點位於任何文本框,並且用戶單擊鍵盤「輸入」按鈕。應該調用按鈕事件。如何捕獲文本框的按鍵事件?
問題是我無法找到TextBox_KeyDown捕獲「Enter」鍵按下。在Visual Studio編輯器中,KeyDown,KeyPress,Keyup屬性爲空。
一些事情。這聽起來像你只需要將Form
上的AcceptButton
設置爲你想要點擊的按鈕,當用戶按下時輸入。它會自動爲你處理。
其次,如果不是的話,那麼你需要設置KeyPreview
到true
在Form
和處理ProcessCmdKey
方法上Form
:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
{
// do something
}
else
{
base.ProcessCmdKey(ref msg, keyData);
}
}
謝謝neoistheone。這就是我想要的 – Ullan
@烏蘭記得標記爲答案 –
你能做到這樣?
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
}
}
NoOne:你在問還是回答? –
「我無法找到TextBox_KeyDown」聽起來像我需要一些閱讀。你可以從這裏開始:http://msdn.microsoft.com/en-us/library/edzehd2t.aspx – varocarbas