我在想,是否有任何方法將自定義常量添加到系統常量。將自定義常量添加到系統常量
舉例來說,在我的編碼,我經常使用這樣的代碼:
VB.NET
Private Sub myform_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F3 Or (e.Control And e.KeyCode = Keys.F) Then
search(mytextbox.Text.Trim)
End If
End Sub
C#
private void myform_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.F3 | (e.Control & e.KeyCode == Keys.F)) {
search(mytextbox.Text.Trim);
}
}
想法是新的元素添加到枚舉密鑰,說「查找」 所以我能做到這一點:
VB.NET
If e.KeyCode = Keys.Find Then
search(mytextbox.Text.Trim)
End If
C#
if (e.KeyCode == Keys.Find) {
search(mytextbox.Text.Trim);
}
當然,我會先更換按鍵Keys.F3和e.Control + Keys.F在一個應用級這樣的低層次「ProcessCmdKey」到Keys.Find作者:
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If keyData = Keys.F3 Then
msg.WParam = CType(Keys.Find, IntPtr)
keyData = Keys.Find
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
所以,問題是: Keys.Find可以添加到鍵常量,如果做 - 如何?
簡要回答:No. – sloth
然後,這似乎真的不去。 –