使用 Esc 关闭用户窗体,每个控件不使用 control_KeyPress() 命令
Close userform with Esc without control_KeyPress() command for each control
在这个答案中,表明 Excel 用户窗体可以通过为每个可以获取焦点的控件设置一个 control_KeyPress() sub 来使用 Esc 关闭 - Close userform with escape button
我已经让它工作了,但是我有几个菜单,每个菜单都有一些控件。我试着把这个例程放在一个按钮上,但它并不总是很快 tab/nav 返回到特定按钮。
我正在寻找制作它的方法,这样我要么
- 不必为每个可以获取焦点的控件创建 control_KeyPress() 子
- 或者,可以以不同的方式实现相同的目标(使用 esc 关闭用户窗体)
谢谢!
我的想法是在窗体上创建一个命令按钮,将取消 属性 设置为 true 并将宽度和高度设置为 0。将以下代码添加到不可见按钮。
Private Sub CommandButton1_Click()
Hide
End Sub
保持可见 属性 为 true
创建一个小按钮,例如6 x 6 以便它可见但不显眼地位于表单的一个角中。让它变小会阻止显示标题,只留下一个整洁的小方块。
创建一个按钮(例如 BTXX),并设置:
- Cancel = True 这样按退出键"presses"这个按钮
- TabStop = False 以便在表单中使用 Tab 键不会在按钮上停止
- 标题 = "Esc" 提醒按钮的用途
在onclick事件中使用:
Private Sub BTXX_Click()
Unload Me
End Sub
在此示例中,通过设置 Top=0 和 Left=0,退出按钮在表单上为 "hidden" top-left。 (见下图)。
如果您已经有一个用于关闭用户窗体的按钮,那么您只需将其取消 属性 设置为 true。然后通过按 escape 键触发它,保持可点击状态,保持其加速器并保持 Tab 键顺序。您只能有 1 个带有 Cancel=True 的按钮,属性 编辑器会自动处理此问题。
在这个答案中,表明 Excel 用户窗体可以通过为每个可以获取焦点的控件设置一个 control_KeyPress() sub 来使用 Esc 关闭 - Close userform with escape button
我已经让它工作了,但是我有几个菜单,每个菜单都有一些控件。我试着把这个例程放在一个按钮上,但它并不总是很快 tab/nav 返回到特定按钮。
我正在寻找制作它的方法,这样我要么
- 不必为每个可以获取焦点的控件创建 control_KeyPress() 子
- 或者,可以以不同的方式实现相同的目标(使用 esc 关闭用户窗体)
谢谢!
我的想法是在窗体上创建一个命令按钮,将取消 属性 设置为 true 并将宽度和高度设置为 0。将以下代码添加到不可见按钮。
Private Sub CommandButton1_Click()
Hide
End Sub
保持可见 属性 为 true
创建一个小按钮,例如6 x 6 以便它可见但不显眼地位于表单的一个角中。让它变小会阻止显示标题,只留下一个整洁的小方块。
创建一个按钮(例如 BTXX),并设置:
- Cancel = True 这样按退出键"presses"这个按钮
- TabStop = False 以便在表单中使用 Tab 键不会在按钮上停止
- 标题 = "Esc" 提醒按钮的用途
在onclick事件中使用:
Private Sub BTXX_Click()
Unload Me
End Sub
在此示例中,通过设置 Top=0 和 Left=0,退出按钮在表单上为 "hidden" top-left。 (见下图)。
如果您已经有一个用于关闭用户窗体的按钮,那么您只需将其取消 属性 设置为 true。然后通过按 escape 键触发它,保持可点击状态,保持其加速器并保持 Tab 键顺序。您只能有 1 个带有 Cancel=True 的按钮,属性 编辑器会自动处理此问题。