在vb.net中以主表单设置shorcut键

时间:2013-08-14 09:04:59

标签: vb.net

我在我的应用程序中有两个表单我从master page.i一起调用两个表单。我在我的主页面分页器工具栏菜单事件中编写代码如下:

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 application.:stackoverflow.com/questions/17918902 / ... - user2674855在这个链接中你可以看到我的主页设计

1 个答案:

答案 0 :(得分:0)

位于代码窗口的顶部

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事件添加代码