等待按键

等待用户按下指定的键盘或鼠标按键。

鼠标键自1.5.3版本开始支持(鼠标键不支持拦截)。

image.png


典型用途:

  • 等待用户完成指定的操作后按键继续执行动作;
  • 从多个选项中使用按键选择一个;


参数

【等待的按键】等待的键盘或鼠标按键,可以指定多个。

  • 如果不指定,将会在按下任意键盘键时完成等待。此时不等待鼠标按键。
  • 如果指定,则会在按下设定的鼠标或键盘键时完成等待。可以指定多个要等待的按键,其格式为:使用小写逗号分隔的多个键名或键值(System.Windows.Forms.Keys枚举值中的名字或数字值,请参见本文后面的表

示例:

    • LMenu,RMenu   (等待左或右Alt键)
    • 112,113    (等待F1或F2)
    • LButton,A  (等到鼠标左键或A键)


对于控制键ControlKey/Control、ShiftKey/Shift、Menu(alt),会自动等待对应的左右两侧的按键。返回的键值是实际按下的左侧或右侧按键对应的值(如LControlKey/RControlKey等)


【拦截原始按键事件】如果拦截,则等待的按键不会发送到其他软件中变成字母输入。如果不拦截,则类似于普通键盘敲击的效果。仅对键盘按键有效


【提示信息】 在屏幕顶端使用透明窗口显示给用户的提示文字。

image.png

【提示窗口位置】半透明提示窗口的显示位置。

【鼠标穿透】半透明提示窗口是否允许鼠标穿透(从而避免影响点击提示窗下面的内容)。


输出

注:输出的是实际按键的值,比如等待的是ControlKey,根据按下的键,实际输出的是LControlKey或RControlKey。

【键名】(KeyCode)按键的名称。参见下表或:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.keys?view=netframework-4.8

【键值】(Keyvalue)按键的数字值。可以用示例动作检测按键的键值。


参考动作


更改历史

  • 从1.1.33版本开始提供。
  • 1.2.11 增加“等待的按键”参数。
  • 1.5.3 增加支持鼠标按键(LButton/MButton/RButton/XButton1/XButton2);增加是否拦截原始按键消息的选项。


参考

System.Windows.Forms.Keys 键值对照表

键名

键值

说明

A65

A 键。

Add107

加号键。

Alt262144

Alt 修改键。

Apps93

应用程序键(Microsoft Natural Keyboard,人体工程学键盘)。

Attn246

ATTN 键。

B66

B 键。

Back8

BACKSPACE 键。

BrowserBack166

浏览器后退键(Windows 2000 或更高版本)。

BrowserFavorites171

浏览器收藏夹键(Windows 2000 或更高版本)。

BrowserForward167

浏览器前进键(Windows 2000 或更高版本)。

BrowserHome172

浏览器主页键(Windows 2000 或更高版本)。

BrowserRefresh168

浏览器刷新键(Windows 2000 或更高版本)。

BrowserSearch170

浏览器搜索键(Windows 2000 或更高版本)。

BrowserStop169

浏览器停止键(Windows 2000 或更高版本)。

C67

C 键。

Cancel3

Cancel 键。

Capital20

CAPS LOCK 键。

CapsLock20

CAPS LOCK 键。

Clear12

CLEAR 键。

Control131072

Ctrl 修改键。

ControlKey17

CTRL 键。

Crsel247

CRSEL 键。

D68

D 键。

D048

0 键。

D149

1 键。

D250

2 键。

D351

3 键。

D452

4 键。

D553

5 键。

D654

6 键。

D755

7 键。

D856

8 键。

D957

9 键。

Decimal110

句点键。

Delete46

DEL 键。

Divide111

除号键。

Down40

DOWN ARROW 键。

E69

E 键。

End35

END 键。

Enter13

ENTER 键。

EraseEof249

ERASE EOF 键。

Escape27

ESC 键。

Execute43

EXECUTE 键。

Exsel248

EXSEL 键。

F70

F 键。

F1112

F1 键。

F10121

F10 键。

F11122

F11 键。

F12123

F12 键。

F13124

F13 键。

F14125

F14 键。

F15126

F15 键。

F16127

F16 键。

F17128

F17 键。

F18129

F18 键。

F19130

F19 键。

F2113

F2 键。

F20131

F20 键。

F21132

F21 键。

F22133

F22 键。

F23134

F23 键。

F24135

F24 键。

F3114

F3 键。

F4115

F4 键。

F5116

F5 键。

F6117

F6 键。

F7118

F7 键。

F8119

F8 键。

F9120

F9 键。

FinalMode24

IME 最终模式键。

G71

G 键。

H72

H 键。

HanguelMode21

IME Hanguel 模式键。 (为了保持兼容性而设置;使用 HangulMode

HangulMode21

IME Hangul 模式键。

HanjaMode25

IME Hanja 模式键。

Help47

HELP 键。

Home36

HOME 键。

I73

I 键。

IMEAccept30

IME 接受键,替换 IMEAceept

IMEAceept30

IME 接受键。 已过时,请改用 IMEAccept

IMEConvert28

IME 转换键。

IMEModeChange31

IME 模式更改键。

IMENonconvert29

IME 非转换键。

Insert45

INS 键。

J74

J 键。

JunjaMode23

IME Junja 模式键。

K75

K 键。

KanaMode21

IME Kana 模式键。

KanjiMode25

IME Kanji 模式键。

KeyCode65535

从键值提取键代码的位屏蔽。

L76

L 键。

LaunchApplication1182

启动应用程序一键(Windows 2000 或更高版本)。

LaunchApplication2183

启动应用程序二键(Windows 2000 或更高版本)。

LaunchMail180

启动邮件键(Windows 2000 或更高版本)。

LButton1

鼠标左按钮。

LControlKey162

左 CTRL 键。

Left37

LEFT ARROW 键。

LineFeed10

LINEFEED 键。

LMenu164

左 ALT 键。

LShiftKey160

左 Shift 键。

LWin91

左 Windows 徽标键 (Microsoft Natural Keyboard)。

M77

M 键。

MButton4

鼠标中按钮(三个按钮的鼠标)。

MediaNextTrack176

媒体下一曲目键(Windows 2000 或更高版本)。

MediaPlayPause179

媒体播放暂停键(Windows 2000 或更高版本)。

MediaPreviousTrack177

媒体上一曲目键(Windows 2000 或更高版本)。

MediaStop178

媒体停止键(Windows 2000 或更高版本)。

Menu18

Alt 键。

Multiply106

乘号键。

N78

N 键。

Next34

PAGE DOWN 键。

NoName252

留待将来使用的常数。

None0

不按任何键。

NumLock144

NUM LOCK 键。

NumPad096

数字键盘上的 0 键。

NumPad197

数字键盘上的 1 键。

NumPad298

数字键盘上的 2 键。

NumPad399

数字键盘上的 3 键。

NumPad4100

数字键盘上的 4 键。

NumPad5101

数字键盘上的 5 键。

NumPad6102

数字键盘上的 6 键。

NumPad7103

数字键盘上的 7 键。

NumPad8104

数字键盘上的 8 键。

NumPad9105

数字键盘上的 9 键。

O79

O 键。

Oem1186

OEM 1 键。

Oem102226

OEM 102 键。

Oem2191

OEM 2 键。

Oem3192

OEM 3 键。

Oem4219

OEM 4 键。

Oem5220

OEM 5 键。

Oem6221

OEM 6 键。

Oem7222

OEM 7 键。

Oem8223

OEM 8 键。

OemBackslash226

RT 102 键的键盘上的 OEM 尖括号或反斜杠键(Windows 2000 或更高版本)。

OemClear254

CLEAR 键。

OemCloseBrackets221

美式标准键盘上的 OEM 右括号键(Windows 2000 或更高版本)。

Oemcomma188

任何国家/地区键盘上的 OEM 逗号键(Windows 2000 或更高版本)。

OemMinus189

任何国家/地区键盘上的 OEM 减号键(Windows 2000 或更高版本)。

OemOpenBrackets219

美式标准键盘上的 OEM 左括号键(Windows 2000 或更高版本)。

OemPeriod190

任何国家/地区键盘上的 OEM 句点键(Windows 2000 或更高版本)。

OemPipe220

美式标准键盘上的 OEM 管道键(Windows 2000 或更高版本)。

Oemplus187

任何国家/地区键盘上的 OEM 加号键(Windows 2000 或更高版本)。

OemQuestion191

美式标准键盘上的 OEM 问号键(Windows 2000 或更高版本)。

OemQuotes222

美式标准键盘上的 OEM 单/双引号键(Windows 2000 或更高版本)。

OemSemicolon186

美式标准键盘上的 OEM 分号键(Windows 2000 或更高版本)。

Oemtilde192

美式标准键盘上的 OEM 波形符键(Windows 2000 或更高版本)。

P80

P 键。

Pa1253

PA1 键。

Packet231

用于将 Unicode 字符当作键击传递。 Packet 键值是用于非键盘输入法的 32 位虚拟键值的低位字。

PageDown34

PAGE DOWN 键。

PageUp33

PAGE UP 键。

Pause19

PAUSE 键。

Play250

播放键。

Print42

PRINT 键。

PrintScreen44

PRINT SCREEN 键。

Prior33

PAGE UP 键。

ProcessKey229

Process Key 键。

Q81

Q 键。

R82

R 键。

RButton2

鼠标右按钮。

RControlKey163

右 CTRL 键。

Return13

Return 键。

Right39

RIGHT ARROW 键。

RMenu165

右 ALT 键。

RShiftKey161

右 Shift 键。

RWin92

右 Windows 徽标键 (Microsoft Natural Keyboard)。

S83

S 键。

Scroll145

Scroll Lock 键。

Select41

SELECT 键。

SelectMedia181

选择媒体键(Windows 2000 或更高版本)。

Separator108

分隔符键。

Shift65536

Shift 修改键。

ShiftKey16

Shift 键。

Sleep95

计算机睡眠键。

Snapshot44

PRINT SCREEN 键。

Space32

SPACEBAR 键。

Subtract109

减号键。

T84

T 键。

Tab9

TAB 键。

U85

U 键。

Up38

UP ARROW 键。

V86

V 键。

VolumeDown174

减小音量键(Windows 2000 或更高版本)。

VolumeMute173

静音键(Windows 2000 或更高版本)。

VolumeUp175

增大音量键(Windows 2000 或更高版本)。

W87

W 键。

X88

X 键。

XButton15

第一个 X 鼠标按钮(五个按钮的鼠标)。

XButton26

第二个 X 鼠标按钮(五个按钮的鼠标)。

Y89

Y 键。

Z90

Z 键。

Zoom251

缩放键。


语雀在语雀上查看