VB6中带有关键字'的关闭窗体;W';或';Ctrl+;W';或';Alt+;w';

VB6中带有关键字'的关闭窗体;W';或';Ctrl+;W';或';Alt+;w';,vb6,Vb6,我是VB6新手,在使用College Project时,任何人都能告诉我如何在不使用任何命令按钮或控制工具的情况下关闭窗体 当应用程序处于活动状态或窗体处于活动状态时,用户按“W”键时,窗体应为“结束”/“卸载” 我该怎么做 我尝试了以下代码: Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End If End Sub 但是它不起作用。您需要确保表单的属性设置为True,否则表单将不

我是VB6新手,在使用College Project时,任何人都能告诉我如何在不使用任何命令按钮或控制工具的情况下关闭窗体

当应用程序处于活动状态或窗体处于活动状态时,用户按“W”键时,窗体应为“结束”/“卸载” 我该怎么做

我尝试了以下代码:

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

但是它不起作用。

您需要确保表单的属性设置为
True
,否则表单将不会处理击键。我还将测试大小写

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之类的修改键,我将使用表单的EventHandler

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

您需要确保表单的属性设置为
True
,否则表单将不会处理击键。我还将测试大小写

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之类的修改键,我将使用表单的EventHandler

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

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

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


是的,您可以使用黑客方法,但为什么?

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

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


是的,你可以使用黑客的方法,但是为什么呢?

如果你记不起“W”的ASCII码,就用
keyscii=Asc(“W”)
。我也意识到VB6中的惯例是每个单词的第一个字母都大写,但在StackOverflow上没有这样的惯例,而且所有的大写字母都像是对着人们尖叫……请随意编辑您的帖子:)如果您记不起“W”的ASCII码,只需使用
keyscii=Asc(“W”)
。我还意识到VB6中的惯例是每个单词的第一个字母都大写,但StackOverflow上没有这种惯例,而且所有大写字母都像是在向人们尖叫……请随意编辑您的帖子:)我以为Alt+F4是由Windows自己处理的……不是吗?是的,除非程序将其从控制菜单中删除。参见我的想法ught Alt+F4是由Windows自己处理的…不是吗?是的,除非程序将其从控制菜单中删除。非常感谢。它可以工作。您能告诉我如何使用相同的键“W”关闭电脑,而不是“卸载我”我应该使用什么吗?@DivyamSolanki您可以使用
System.diagnostics.Process.Start(“Shutdown”、“-s”)
请确保导入
系统诊断
名称空间。有关更多信息,请参阅此@DivyamSolanki
Shell“关机”“
。您能告诉我如何导入“system.diagnostics”吗?非常感谢。它可以工作。你能告诉我如何使用同一个键“W”关闭电脑,而不是“卸载我”我应该使用什么吗?@DivyamSolanki你可以使用
System.diagnostics.Process.Start(“Shutdown”,“-s”)
确保导入
System.diagnostics
命名空间。有关更多信息,请查看此@DivyamSolanki
Shell“shutdown/s”
。您能告诉我如何导入“system.diagnostics”吗