【发布时间】:2015-12-08 06:05:13
【问题描述】:
我遇到了一个奇怪的问题,我设置了一个“热键”来显示和隐藏帮助面板,它一直在工作,直到我按下该面板上的关闭(隐藏)按钮,之后“热键”不再起作用。我的表单上还有一个按钮,它也显示和隐藏这个面板,它一直有效,只是“热键”的问题。
这就是我为“热键”所做的。
Private Sub Me_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.H Then
If Panel1.Visible = True Then
Panel1.Visible = False
ElseIf Panel1.Visible = False Then
Panel1.Visible = True
End If
End If
End Sub
但是如果我只使用这个热键,我可以设置 visible = true/false 任意多次,只有在我按下面板上的任何按钮后它才会停止工作。
在设计视图中:在 panel1 - Panel1.Visible = False
- lblMenu
- btn关闭
- btn重置
- btn设置
- btnExitToMenu
- btnExitApp
更多代码:
Public Class Form1
Private Sub debug_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblMenu.Text = "Menu"
Panel1.Visible = False
End Sub
Private Sub Me_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.H Then
If Panel1.Visible = True Then
Panel1.Visible = False
ElseIf Panel1.Visible = False Then
Panel1.Visible = True
End If
End If
End Sub
Private Sub btnResume_Click(sender As Object, e As EventArgs) Handles btnResume.Click
If Panel1.Visible = True Then
Panel1.Visible = False
End If
End Sub
Private Sub btnRestart_Click(sender As Object, e As EventArgs) Handles btnRestart.Click
'For restar configuration
End Sub
Private Sub btnSettings_Click(sender As Object, e As EventArgs) Handles btnSettings.Click
'Display additional settings
End Sub
Private Sub btnExitToMenu_Click(sender As Object, e As EventArgs) Handles btnExitToMenu.Click
Dim msg = "Are you sure you want exit to menu?"
Dim response = MsgBox(msg, MsgBoxStyle.YesNo)
If response = MsgBoxResult.Yes Then
Me.Close()
End If
End Sub
Private Sub btnExitGame_Click(sender As Object, e As EventArgs) Handles btnExitGame.Click
Dim msg = "Are you sure you want to close this app?"
Dim response = MsgBox(msg, MsgBoxStyle.YesNo)
If response = MsgBoxResult.Yes Then
Form1.Close()
End If
End Sub
Private Sub btnMenu_Click(sender As Object, e As EventArgs) Handles btnMenu.Click
If Panel1.Visible = True Then
Panel1.Visible = False
ElseIf Panel1.Visible = False Then
Panel1.Visible = True
End If
End Sub
结束类
这是我使用的完整代码
【问题讨论】:
-
我有几个表格,但没有一个在这段代码中使用。此外,此表单是唯一一个不包含在窗口中的表单,因此就像您创建一个新表单一样。
-
好的,现在我把完整的代码发给你了
-
是的,我改了,抱歉,我试过用不同的键。我要再次将其更改为 H 再次抱歉
-
是的,除了“btnMenu”之外的所有按钮都在隐藏的面板内。
-
1.你想让我在 formLoad 中将 Panel1.Visible = False 更改为 True 吗? 2.无论我按面板上的哪个按钮,热键都会转到其他地方。 3. 断点是什么意思?