[英]form keydown event interrupt the working of textBox keypress event c#
[英]C# - KeyDown Event, FunctionKeys and TextBox
這是帶有按鈕(未顯示)和文本框的表單的代碼。 按下功能鍵以外的任何其他鍵會導致KeyDown事件按預期觸發,選擇了文本框,光標閃爍並且后續擊鍵的字符出現在文本框中。 但是,當按下功能鍵時,盡管選中了文本框,但光標不會閃爍,並且下一個擊鍵的字符也不會出現在文本框中。 后續擊鍵的字符確實出現了預期的情況。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
textBox1.Select();
}
}
我已經能夠通過重寫ProcessCmdKey方法來解決此問題,但我很好奇如何使用KeyDown做到這一點。
謝謝!!
ProcessCmdKey
,如您所說,讀取F [1-12]鍵的首選方法是重寫ProcessCmdKey
方法。 但是,一種允許KeyDown
處理F鍵的方法(現已不建議使用)是將窗體的KeyPreview
屬性設置為true。 但是,正如您在本文中所看到的那樣,這種方法有一些缺點,因此使用ProcessCmdKey
安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.