簡體   English   中英

C#-KeyDown事件,FunctionKeys和TextBox

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM