【问题标题】:setting shorcut keys in master form in vb.net在 vb.net 中以主表单设置快捷键
【发布时间】:2013-08-14 21:49:54
【问题描述】:

我的应用程序中有两个表单我正在从母版页一起调用两个表单。我在我的母版页工具条菜单事件中编写了这样的代码:

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() 

如果我按 R 我想将光标移到 FrmrecievedDelivaryRequest 的特定文本框 如果我按 D 我想将光标移到 FrmDelivary 的特定文本框 我怎样才能做到这一点?我在 frmMaster_KeyDown 事件中遇到了类似的事情:但是再次显示相同的页面我已经打开了 FrmDelivary 的实例,所以我不想再次显示相同的页面。我只想将光标位置移到此表单的特定文本框

If e.KeyCode = Keys.A Then 
    form.Show() 
    form.txtTicket.Focus() 
    Cursor.Position = form.txtTicket.Location 
end if

我正在开发 vb.net windows 应用程序。:stackoverflow.com/questions/17918902/... – user2674855 在此链接中,您可以看到我的母版页设计

【问题讨论】:

标签: vb.net


【解决方案1】:

在代码窗口的顶部

Dim frm1 As FrmrecievedDelivaryRequest  
Dim frm2 As FrmDelivary    

在工具条菜单的点击事件中

frm1 = New FrmrecievedDelivaryRequest  
frm1.Location = New Point(625, 225)  
frm1.MdiParent = Me
frm1.Show()
frm2 = New FrmDelivary    
frm2.Location = New Point(965, 0) 
frm2.MdiParent = Me 
frm2.show()

在 frmMaster KeyDown 中(另外,确保 frmMaster.KeyPreview 设置为 True

If e.Control And e.KeyCode = Keys.R Then 'revised to include control key
    frm1.Show() 
    frm1.txtTicket.Focus() 
    Cursor.Position = frm1.txtTicket.Location 
end if
'add other keycode events similar to above

如果您希望快捷键也可以在子表单中使用,请将 KeyPreview 设置为 true 并为 KeyDown 事件添加代码

【讨论】:

  • 这是有效的,但是如果我点击特定文本框上的 A
  • @user2674855 - 不知道你所说的“进入那个特定的文本框”是什么意思
  • 如果我在任何文本框中单击快捷键 R..这个字母出现在该文本框中
  • 好吧,您希望能够在文本框中键入 R 或任何其他快捷键,还是让它进行表单切换?如果您想让它适用,请说 Ctrl+R,这可能会有所帮助,然后查看上面的修订版。
猜你喜欢
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多