我们知道VB.NET中的文本框是不支持Ctrl+A的快捷键的。
如果让它支持呢?
1 Private Sub txtSQL_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSQL.KeyDown 2 If e.KeyCode = Keys.A AndAlso (e.KeyData And Keys.Control) Then 3 '全选 4 txtSQL.SelectAll() 5 End If 6 End Sub
以上的代码就是例子。
e.KeyCode表示你按下的字符类按键的编码,例如:A,B,C,1,2,3,;,',[,等等。
e.KeyData表示你按下的字符类按键编码与功能键(如Ctrl,Alt,Shift等)编码的组合编码。
这里使用的e.KeyData And Keys.Control 就是尝试从e.KeyData中提取出Ctrl键的编码,如果提取成功,就表示按下了组合键,否则就是没有按下组合键。
本例子中,检查的是Ctrl+A 的组合键,所以实现了标题说明的效果