vb.net - VB:如何为计时器/按钮设置快捷键
问题描述
如何为计时器/按钮设置快捷键,基本上我有两个计时器事件,一个 Timer.Stop 和 Timer.Start。单击切换功能(开始/停止)时,我想创建一个快捷键。请帮忙,我真的需要它。
解决方案
这是抓住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
玩得开心!
这是一个可以帮助您处理表单的编辑:
假设您有一个主窗体(“外部窗体”),其中包含一个“子”窗口。我说“孩子”,但它与继承无关,它们只是形式。
现在,即使焦点在“子”表单上,您也希望“主”表单捕捉到按键。这是实现此目的的忍者式方法。它具有简单的品质,但不是最优雅的。尽管如此,它仍会按预期工作。
在“主”表单中,您需要以一种允许您使用它的事件和公共事件的方式跟踪“子”表单:
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
我不知道您是否只有一个子表单或多个子表单,因此如果您有多个子表单或数量不定,您可以考虑使用列表:
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(主窗体,无论您如何命名)。
如果您有其他问题,我会不时闲逛。
推荐阅读
- c - 函数地址错误
- ios - UITableView 由于在滚动 tableview 的同时重新加载数据而崩溃
- asp.net-mvc - niginx 反向代理背后的 Oauth 服务器应用程序
- hyperlink - Microsoft Flow 超链接在 Outlook 客户端中不起作用
- android - 如何在network-security-config.xml文件Android中动态添加includeSubdomains
- xpages - 如何将富文本附件从一个文档传输到另一个文档
- netsuite - Suitescript 2.0 Netsuite 中的分页
- javascript - {display:none} 不使用复选框?
- javascript - 单击活动引导选项卡时,滚动顶部位置更改
- git - libgit2:将远程分支引用转换为有效的引用规范