0

我是 VB6 的新手,并且正在从事大学项目,任何人都可以告诉我如何在不使用任何命令按钮或控制工具的情况下关闭我的表单。

每当应用程序处于活动状态或表单处于活动状态时,用户按下“W”键而不是表单应该是“结束”/“卸载”我该怎么做?

我尝试了这些代码:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
Unload Me
End If
End Sub

但它没有用。

4

2 回答 2

2

您需要确保 Form 的KeyPreviewProperty 设置为True,否则您的 Form 将不会处理 KeyStrokes。我还将测试大写和小写。

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 87 Or KeyAscii = 119 Then  '87 is upper case 119 is lower case
        Unload Me
    End If

End Sub

如果您想检查诸如 Control 和 Alt 之类的修饰键,我会改用 Form 的KeyDownEventHandler。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If (Shift And 1) Then ' Test for Shift Key
        If (KeyCode = 87 Or KeyCode = 119) Then
            Unload Me
        End If
    End If

    If (Shift And 2) Then 'Test for Control Key
        If (KeyCode = 87 Or KeyCode = 119) Then
            Unload Me
        End If
    End If

    If (Shift And 4) Then 'Test for Alt Key
        If (KeyCode = 87 Or KeyCode = 119) Then
            Unload Me
        End If
    End If

End Sub
于 2013-10-05T17:10:13.600 回答
2

Alt-F4是 VB6 中窗体关闭的内置热键,与大多数其他符合 Windows 应用程序指南的程序一样。

人们通常还有一个菜单选项“退出”并将其加速键设置为“x”,因此您可能有一个带有“F”的文件菜单和一个带有“x”的选项退出,用户可以键入 Alt-F、x 退出. 请参阅记事本或数百个其他程序作为示例。

是的,您可以使用骇人听闻的方法,但为什么呢?

于 2013-10-05T22:16:55.360 回答