VB:如何为 Timer/Button 设置快捷键
VB: How I Can Set a Key Shortcut for a Timer/Button
我如何为 Timer/Button 设置快捷键,基本上我有两个计时器事件,一个 Timer.Stop 和 Timer.Start。我想在单击切换功能时创建快捷键 (Start/Stop)。请帮助,我真的需要它。
这是一种捕捉Enter
键的方法。你应该能够扩展这个概念来实现你想要的。
Public Class Form1
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
MsgBox("You pressed Enter")
End If
End Sub
End Class
玩得开心!
以下是帮助您处理表格的编辑:
假设您有一个主窗体("outside one"),其中包含一个 "child" window。我说 "child" 但这与继承无关,它们只是形式。
现在,即使焦点在 "child" 窗体上,您也希望 "main" 窗体捕捉到按键操作。这是实现此目的的忍者式方法。它具有简单的品质,但不是最优雅的。不过,它会按预期工作。
在 "main" 表单中,您需要以一种允许您使用它的事件的方式跟踪 "child" 表单,以及一个 public 事件:
Public Class Main
'modal variable to keep track of the child form
Private WithEvents _childForm As Form
'the rest of your main class goes here
End Class
不知道你的子Form是只有一个还是很多,所以如果你的子Form不止一个或者数量不定,可以考虑使用List:
Private _childFormsList As New List(Of Form)
现在,每次打开一个表单时,您都必须更新主表单中的模态变量(我将假设您一次只有一个子表单以使事情变得更容易):
_childForm = New ChildFormClass()
_childForm.Show()
'or whatever you're doing with the Form
现在,回到之前的这一行:
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
并从子表单添加相关事件:
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress, _childForm.KeyPressed
现在这两个表单都会触发此事件。不过,您应该重命名 Sub,因为它不仅会触发 Form1(主窗体,无论您将其命名为什么)。
如果您有其他问题,我会不时与您联系。
我如何为 Timer/Button 设置快捷键,基本上我有两个计时器事件,一个 Timer.Stop 和 Timer.Start。我想在单击切换功能时创建快捷键 (Start/Stop)。请帮助,我真的需要它。
这是一种捕捉Enter
键的方法。你应该能够扩展这个概念来实现你想要的。
Public Class Form1
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
MsgBox("You pressed Enter")
End If
End Sub
End Class
玩得开心!
以下是帮助您处理表格的编辑:
假设您有一个主窗体("outside one"),其中包含一个 "child" window。我说 "child" 但这与继承无关,它们只是形式。
现在,即使焦点在 "child" 窗体上,您也希望 "main" 窗体捕捉到按键操作。这是实现此目的的忍者式方法。它具有简单的品质,但不是最优雅的。不过,它会按预期工作。
在 "main" 表单中,您需要以一种允许您使用它的事件的方式跟踪 "child" 表单,以及一个 public 事件:
Public Class Main
'modal variable to keep track of the child form
Private WithEvents _childForm As Form
'the rest of your main class goes here
End Class
不知道你的子Form是只有一个还是很多,所以如果你的子Form不止一个或者数量不定,可以考虑使用List:
Private _childFormsList As New List(Of Form)
现在,每次打开一个表单时,您都必须更新主表单中的模态变量(我将假设您一次只有一个子表单以使事情变得更容易):
_childForm = New ChildFormClass()
_childForm.Show()
'or whatever you're doing with the Form
现在,回到之前的这一行:
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
并从子表单添加相关事件:
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress, _childForm.KeyPressed
现在这两个表单都会触发此事件。不过,您应该重命名 Sub,因为它不仅会触发 Form1(主窗体,无论您将其命名为什么)。
如果您有其他问题,我会不时与您联系。