两个项目保持焦点
Two items maintaining focus
我需要找到两个不同的项目来保持焦点以触发 textbox.KeyPress 事件。我有一个文本框,当获得焦点时,它会弹出一个数字小键盘的表单,该表单会触发发送键命令,我需要通过 textbox.KeyPress 事件读取该命令以填充文本框
This is on a popup form that has buttons to click
Private Sub Number1_Click(sender As System.Object, e As System.EventArgs) Handles Number1.Click
SendKeys.Send("1")
End Sub
This is on a different form that I need the sendkeys.send to populate
Private Sub TextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox.KeyPress
'Code goes here
End Sub
在调用 SendKeys
之前,将焦点设置在将获取密钥的文本框上。您将需要文本框所在表单的实例变量。此变量必须在您发送密钥的表单范围内。如果另一个表单是从执行 SendKeys 语句的同一表单启动的,则可以使用 class 成员级变量。否则,使用在模块中声明的全局变量。
'Declaration
Public frm2 as Form2
'Show Form2
frm2 = new Form2()
frm2.Show()
'Click handler
Private Sub Number1_Click(sender As System.Object, e As System.EventArgs) Handles Number1.Click
frm2.TextBox.Focus()
Application.DoEvents() 'Sometimes needed
SendKeys.Send("1")
End Sub
我需要找到两个不同的项目来保持焦点以触发 textbox.KeyPress 事件。我有一个文本框,当获得焦点时,它会弹出一个数字小键盘的表单,该表单会触发发送键命令,我需要通过 textbox.KeyPress 事件读取该命令以填充文本框
This is on a popup form that has buttons to click
Private Sub Number1_Click(sender As System.Object, e As System.EventArgs) Handles Number1.Click
SendKeys.Send("1")
End Sub
This is on a different form that I need the sendkeys.send to populate
Private Sub TextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox.KeyPress
'Code goes here
End Sub
在调用 SendKeys
之前,将焦点设置在将获取密钥的文本框上。您将需要文本框所在表单的实例变量。此变量必须在您发送密钥的表单范围内。如果另一个表单是从执行 SendKeys 语句的同一表单启动的,则可以使用 class 成员级变量。否则,使用在模块中声明的全局变量。
'Declaration
Public frm2 as Form2
'Show Form2
frm2 = new Form2()
frm2.Show()
'Click handler
Private Sub Number1_Click(sender As System.Object, e As System.EventArgs) Handles Number1.Click
frm2.TextBox.Focus()
Application.DoEvents() 'Sometimes needed
SendKeys.Send("1")
End Sub