在 VB.NET Winforms 应用程序中,我有一个包含 datagridview 和文本框的表单。我有一些菜单项条目的快捷键为 Ctrl + X、Ctrl + C 和 Ctrl + V 对 datagridview 进行操作。但是,这些会覆盖文本框的默认剪切、复制和粘贴快捷方式。如何使菜单快捷方式仅在 datagridview 具有焦点时应用?
最佳答案
正确的 UI 设计需要在菜单项不起作用时将其禁用。一个副作用是它不再窃取击键,而只是你想要的。 Application.Idle 事件对此很方便。
Public Class Form1
Public Sub New()
InitializeComponent()
AddHandler Application.Idle, Application_Idle
End Sub
Private Sub Application_Idle(ByVal sender As Object, ByVal e As EventArgs)
CopyToolStripMenuItem.Enabled = DataGridView1.Focus
'' etc...
End Sub
End Class
关于VB.NET Winforms 菜单项快捷方式覆盖默认快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525691/