Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net VB:如何设置计时器/按钮的快捷键_Vb.net_Keyboard Shortcuts_Key Bindings - Fatal编程技术网

Vb.net VB:如何设置计时器/按钮的快捷键

Vb.net VB:如何设置计时器/按钮的快捷键,vb.net,keyboard-shortcuts,key-bindings,Vb.net,Keyboard Shortcuts,Key Bindings,如何设置计时器/按钮的快捷键,基本上我有两个计时器事件,一个是Timer.Stop和Timer.Start。我想在单击切换功能(启动/停止)时进行按键切换。请帮忙,我真的需要它。这里有一种方法可以抓住回车键。你应该能够扩展这个概念来实现你想要的 Public Class Form1 Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress If e.Ke

如何设置计时器/按钮的快捷键,基本上我有两个计时器事件,一个是Timer.Stop和Timer.Start。我想在单击切换功能(启动/停止)时进行按键切换。请帮忙,我真的需要它。

这里有一种方法可以抓住
回车键。你应该能够扩展这个概念来实现你想要的

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)
现在,每次打开表单时,都必须更新main中的模态变量(我将假定一次只有一个子表单,以使事情更简单):

现在,从前面回到这行:

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
现在这两种形式的事件都会触发。不过,您应该重新命名子窗体,因为它不再是Form1(主窗体,无论您如何命名)触发的


如果您还有其他问题,我会不时地与您联系。

基本上,主表单是一个菜单,它有一个面板,可以加载其他表单。Keyshortcut在主菜单窗体中工作正常,但加载到面板的其他窗体却不能。请帮我修好,如果你帮我,我甚至会付钱给你me@LeRegedit不需要钱。你对编程有多在行?我将以不同的方式对初学者和专业人士说话。我开始编程已有两年了Weeks@LeRegedit我编辑了答案,为您提供了更多的信息。你正在处理一个只有2周训练的困难项目,因此你可能会遇到其他困难,但到目前为止,你似乎走在了正确的道路上。祝你好运@laancelot或者,如果您将此评论部分标记为版主,您可以要求将其移动到,然后您可以在那里继续讨论。代表人数少于20人的用户通常无法访问聊天室,除非有版主帮助他们进入聊天室。
Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress, _childForm.KeyPressed