精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
这里用VS的关于对话框对焦点进行直观的描述。上图是用鼠标左键按下“复制信息”按钮,但移开鼠标,再弹起的效果。按下会让按钮获取焦点,这时候按钮点蓝色边框,按下再弹起,则按钮的点击消息会执行。
通过上面描述可以知道,用鼠标可以改变焦点。鼠标按下时,位置对应窗口会获取焦点,焦点会使窗口的外观改变。同时焦点窗口可以获取输入,输入分鼠标和键盘2类,键盘的字符输入和控制输入是常用的,鼠标的输入还有中键的输入,这个不常用。
键盘的控制输入比较典型的是向上和向下输入,请点击“已安装产品”窗口,再按键盘上的向上和向下键,则看到窗口里蓝底色的当前行会上移或下移。
Control .Enter 事件
进入控件时发生。
当通过使用键盘(Tab、Shift+Tab 等)、通过调用 Select 或 SelectNextControl方法或者通过将.ActiveControl 属性设置为当前窗体等方式更改焦点时,焦点事件按以下顺序发生:
Enter
GotFocus
Leave
Validating
Validated
LostFocus
当使用鼠标或通过调用 Focus 方法更改焦点时,焦点事件将按以下顺序发生:
Enter
GotFocus
LostFocus
Leave
Validating
Validated
焦点的处理是比较复杂的,初学者可能见到这些描述就会迷惑,为了理解,自己写个小例子,在这些事件里加些输出,比如Debug.Print("Enter");,接着进行调试,再看输出窗口里的反应,就容易促成理解。
有焦点时,让Rich是一种外观,没焦点时,用另外一种外观,可以不?
是
有没有焦点可以判断的
语句?
怎么判断有无焦点?
Enter消息和Leave消息
if 语句 怎么写?