簡體   English   中英

KeyDown事件鍵不起作用-VB.net

[英]KeyDown Event Key Not Work - VB.net

KeyDown事件不起作用,按轉義表單無法關閉

Private Sub DataTable_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Escape Then
        Me.Close()
    End If
End Sub

好吧,可以肯定的是,這次活動不是很喜歡開火。 按鍵引發具有焦點的控件上的KeyDown事件。 只有當它沒有可以獲取焦點的控件時,它才會成為您的表單。 相當不可能的情況。

如果您已經有一個標記為“取消”的按鈕來關閉表單,則設置表單的CancelButton屬性

如果您沒有這樣的按鈕,那么用戶將不太可能自己發現Escape鍵是有用的。 他很可能會使用右上角的“關閉”按鈕。 但是,您可以通過重寫ProcessCmdKey()方法來使其工作。 像這樣:

Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
    If keyData = Keys.Escape Then
        Me.Close()
        Return True
    End If
    Return MyBase.ProcessCmdKey(msg, keyData)
End Function

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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