在vb.net应用程序的母版页中分配shorcut密钥

时间:2013-08-12 12:14:12

标签: vb.net winforms keyboard-shortcuts

我正在研究vb.net应用程序。在我的主表单中,在一个工具条菜单项中,我将四个表单一起调用。

我想在工具条菜单项下给出一个快捷键。

Dim frm As New frmKeyAssignBoard  
frm.Location = New Point(625, 0)   
frm.MdiParent = Me  frm.Show()
Dim frm1 As New FrmrecievedDelivaryRequest  
frm1.Location = New Point(625, 225)  
frm1.MdiParent = Me
frm1.Show()

Dim frm2 As New FrmDelivary    
frm2.Location = New Point(965, 0) 
frm2.MdiParent = Me 
frm.show()  

每个例子:

  • 如果我按K,我希望我的光标转到frmKeyAssignBoard
  • 的特定文本框
  • 如果按R,我想把光标移到FrmrecievedDelivaryRequest
  • 的特定文本框中
  • 如果我按D我想将光标移到FrmDelivary
  • 的特定文本框中

我该怎么做? 我在frmMaster_KeyDown事件中发生了类似这样的事情:但同样的页面再次显示我已经打开了FrmDelivary的实例,所以我不想再显示相同的页面。我想将光标位置放到此表单的特定文本框中 如果e.KeyCode = Keys.A则Dim form As New FrmDelivary form.Show() form.txtTicket.Focus()Cursor.Position = form.txtTicket.Location 结束如果

1 个答案:

答案 0 :(得分:0)

根据您的具体示例,我认为这是一种可能的解决方案。将主表单中的KeyPreview属性设置为true,以便将所有键事件发送到表单KeyPressed事件处理程序。然后,检查该事件处理程序中是否按下了该键。完成后,您可以使用Cursor.Position转到您谈到的位置。