# SetControlDelay

设置两次控件操作类命令之间的延时。

SetControlDelay, Delay

#### 参数

Delay | 延时时间，单位毫秒。可以是一个 expression/表达式 。使用 -1 表示无延时，使用 0 表示最小延时。如果没有设置，默认延时 20 。

#### 注意

脚本在执行了每个控件操作类命令之后，会有一个自动的延时（休眠）。这些命令包括：Control ，ControlMove ，ControlClick, ControlFocus 以及 ControlSetText （ControlSend 例外，它的延时使用 SetKeyDelay 命令进行设置）。 这样做的目的是提高脚本的可靠性，因为一个控件一般情况下在两次操作之间都需要一个短暂的“休息”来进行刷新，好对下一个可能的命令进行响应。

虽然允许使用 -1（完全无延时），但是推荐最少只设置到 0 ，这样可以增加脚本正确执行的几率。

设置延时为 0 的话相当于执行了命令 Sleep(0) ，它会将当前脚本的剩余时间片分配给有需要的进程。如果没有进程需要，延时 0 就相当于完全没有延时。

cpu速度比较慢，或者cpu正忙，或者开启了窗口动画的时候，也许需要设置比较大的延时。

内置变量 A_ControlDelay 保存了当前的设置。

每一个新运行的 Thread/线程（例如一个 hotkey/热键，custom menu item/自定义菜单，或 timed/定时器 事件）会将该命令的设置重置为默认值。要更改该命令的默认值，可以将该命令放在脚本的自动执行区域（脚本的顶部）。

#### 相关命令

Control, ControlMove, ControlClick, ControlFocus, ControlSetText, SetWinDelay, SetKeyDelay, SetMouseDelay, SetBatchLines

#### 示例

    SetControlDelay, 0