所以我一直在研究这个项目,以便在我的闪存驱动器上自动运行,无论何时插入它。它只显示我的联系信息和一条消息,所以我可以将其返回。
因为我希望人们真正阅读该消息,所以关闭按钮被禁用。你必须检查一个小盒子,然后点击“确定”按钮。
当然,每当我插入自己的闪存驱动器时,我都不想这样做。我正在尝试制作键盘快捷键以自动关闭它。我看过这篇文章here,但它对我不起作用。这是该帖子的代码:
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If e.Alt AndAlso e.KeyCode = Keys.X Then
Application.Exit()
End If
End Sub
非常感谢任何帮助。谢谢!
另外,如果您认为我的代码很草率并且想要清理它,那么就是这样。
Public Class Form1
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles ButtonOK.Click
End
End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
ButtonOK.Enabled = True
Else
ButtonOK.Enabled = False
End If
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
If e.Alt AndAlso e.KeyCode = Keys.X Then
End
End If
End Sub
End Class
答案 0 :(得分:0)
首先,永远不会使用End
。在任何情况下,这都是非常糟糕的。
您应该做的是测试Checked
事件处理程序中CheckBox
的{{1}}值,并且当且仅当它未被检查时才取消。从逻辑上讲,当您检测到所需的组合键时,您应该检查FormClosing
并在表单上调用CheckBox
。
实际上,我可能也不会拨打Close
,而是拨打Close
上的PerformClick
。这样,保证键组合与单击Button
完全相同。
Button