回答
這應該工作。你如何處理這個事件?
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
MessageBox.Show("Escape Pressed");
}
}
編輯在回覆評論 - 嘗試重寫ProcessCmdKey
代替:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Escape && myTextBox.Focused)
{
MessageBox.Show("Escape Pressed");
}
return base.ProcessCmdKey(ref msg, keyData);
}
它沒有。當按下ESC鍵時,它永遠不會進入此功能(它適用於「普通」鍵) – baruch 2012-01-02 23:27:08
重寫「ProcessCmdKey」是否工作? http://msdn.microsoft.com/en-us/library/system.windows.forms.control.processcmdkey.aspx在使用'ProcessCmdKey'之前,請嘗試第一個方法並確保KeyPreview設置爲'true'。例如,在你的表單構造函數中,添加'this.KeyPreview = true; ' – keyboardP 2012-01-02 23:33:17
這將影響表格。我只想捕獲這個文本框。 – baruch 2012-01-02 23:36:54
這是你在找什麼?
string origStr = String.Empty;
private void txtOrig_Enter(object sender, EventArgs e)
{
origStr = txtOrig.Text;
}
private void txtOrig_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Escape))
{
txtOrig.Text = origStr;
}
}
不可以。正如我所解釋的那樣,ESC鍵從不觸發KeyPress事件 – baruch 2012-01-03 07:48:49
- 1. 通過Telnet捕獲ESC鍵?
- 2. 在文本框中定義OnChange時捕獲文本框的值
- 3. UIAlertView文本框捕獲onchange
- 4. 在asp.net上捕獲鼠標文本框
- 5. 在GWT文本框中捕獲粘貼的文本
- 6. 使用jQuery在文檔上捕獲Esc鍵,但不是內容
- 7. 僅使用JavaScript捕獲ESC鍵
- 8. 如何在JQuery對話框中捕捉ESC事件?
- 9. 如何在KeyDown事件期間捕獲文本框的文本?
- 10. 嘗試捕獲驗證空文本框
- 11. WPF捕獲文本框onBlur事件
- 12. Selenium Webdriver捕獲複選框文本
- 13. GWT捕獲文本框加載事件
- 14. 使用autopostback在GridView中捕獲RowDataBound文本框中的值
- 15. 在XUL中捕獲文本框中的換行
- 16. 在ASP.NET文本框中捕捉按鍵
- 17. 動態文本框的值不會在驗證中捕獲 - PHP
- 18. Visual Studio C#捕獲在文本框中輸入密鑰
- 19. 在Web表單文本框中捕獲焦點丟失事件?
- 20. 無法在WinForms文本框中捕獲Enter鍵
- 21. 如何在移動文本框中捕獲textchange事件
- 22. 如何在文本框中捕獲丟失的焦點?
- 23. Android:onSearchRequested()捕獲文本
- 24. Listview - 在動態創建的文本框中捕獲文本更新
- 25. 在c#中Ctrl + C時捕獲文本
- 26. 在Javascript中獲取文本框文本
- 27. 捕獲CTRL + V或粘貼到.NET中的文本框中
- 28. 在任務管理器之前捕獲Ctrl + Shift + Esc
- 29. 從當前文檔中捕獲文本
- 30. 當我按下Mozilla中的ESC時,工具提示消失在文本框中
請張貼您的代碼,並告訴我們,如果這是winforms,webform,WPF或其他東西。 – Oded 2012-01-02 23:17:48
請參閱http://stackoverflow.com/questions/1798383/press-escape-key-to-call-method獲得相似的答案。有效處理OnKeyPress事件,然後檢查e.KeyCode(根據鍵盤的回答)。請張貼您當前的嘗試! – dash 2012-01-02 23:18:53
當文本框顯示在對話框中時,它不起作用,Escape是設計用於取消對話框的快捷鍵。您可以從TextBox派生自己的類並重寫IsInputKey()。你不應該。 – 2012-01-03 02:40:32