C#中如何判斷鍵盤按鍵和組合鍵


C# winform的窗體類有KeyPreview屬性,可以接收窗體內控件的鍵盤事件注冊。
窗體和控件都有KeyDown,KeyUp,KeyPress三個事件,每個事件都會有KeyEventArgs參數傳入,只要判斷傳入參數的KeyChar就可以了,Framework提供了Keys枚舉來表示鍵盤上的各個鍵。

核心判斷的代碼如下:
1.單鍵判斷
if (e.KeyCode == Keys.Delete)
{
     //處理邏輯

2.組合建判斷:  
if (e.Modifiers.CompareTo(Keys.Control) == 0 && e.KeyCode == Keys.Delete)
{
     //處理邏輯
}

3.判斷上鍵

if (key == Keys.Up || key == Keys.PageUp)
{
if (index - 2 >= 0)
{
this.lstQueryFilterControls[index - 2].SetInputControlFocus();
}

}

4.判斷上鍵

if (key == Keys.Down || key == Keys.PageDown)
{
if (index + 2 <= this.lstQueryFilterControls.Count - 1)
this.lstQueryFilterControls[index + 2].SetInputControlFocus();
else
{
if (this.listView.Items.Count > 0)
{
this.listView.Focus();
this.listView.Items[0].Selected = true;
}
}

5.判斷Ctrl + A

        If TextBox1.Text <> "" AndAlso (e.Modifiers.CompareTo(Keys.Control) = 0 And e.KeyCode = Keys.A) Then
            TextBox1.SelectAll()
            My.Computer.Clipboard.SetText(TextBox1.Text)
        End If

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM