Keydown、Keyup、Keypress事件 触发条件:当控制焦点位于某对象上时,按下键盘中的任意一键,则会在该对象上触发Keydown事件,当释放该键时,将触发产生Keyup事件,之后将随即产生键盘的Keypress事件。当对拥有控制焦点的对象进行按下键后又释放的键盘操作时,将会在这对象上触发产生Keypress事件。 事件过程格式: Private sub 对象名_Keydown(Keycode as integer,Shift as integer) Private sub 对象名_Keyup(Keycode as integer,Shift as integer) Private sub 对象名_Keypress(Keyascii as integer)
并不是每种控件都能够得到焦点,如Label控件,由于它只显示文本,而不能由用户对其编辑操作,所以就不具有焦点。当TextBox控件获得焦点时,所显示的是文本框中有一个闪烁的小光标。
请想想看,当你在日常进行打字时,所键入字母的位置是不是一直出现这个小东西?这就是焦点,它能为你所要输入的字定位。 现在知道了,只需将鼠标在这两个控件点一下,哪个没有焦点,就是Label控件。
焦点是可视对象具有的接收用户鼠标或键盘焦点是可视对象具有的接收用户鼠标或键盘
输入的能力.输入的能力.
当一个对象具有焦点时,就可以接受用户的输当一个对象具有焦点时,就可以接受用户的输
入.入.WindowsWindows系统是一个多任务操作系统,在系统是一个多任务操作系统,在
WindowsWindows系统中,某个时刻可以同时运行多个系统中,某个时刻可以同时运行多个
应用程序,但是,任何时刻只有一个对象具有应用程序,但是,任何时刻只有一个对象具有
焦点,具有焦点的对象所在的窗口叫做活动焦点,具有焦点的对象所在的窗口叫做活动
((Active)Active)窗口,其它所有窗口都叫做非活动窗口,其它所有窗口都叫做非活动
((Inactive)Inactive)窗口.因此,在窗口.因此,在WindowsWindows中,任何时中,任何时
刻只有一个窗口是活动窗口.刻只有一个窗口是活动窗口.
6.9 焦点与Tab顺序
当对象得到焦点时,会产生当对象得到焦点时,会产生GotFocusGotFocus事件;当事件;当
对象失去焦点时,会产生对象失去焦点时,会产生LostFocusLostFocus事件.事件.
使用下面的方法可以给一个对象设置焦点:使用下面的方法可以给一个对象设置焦点:
程序运行时用户单击一个对象.程序运行时用户单击一个对象.
程序运行时用快捷键选择对象.程序运行时用快捷键选择对象.
在程序代码中使用在程序代码中使用SetFocusSetFocus方法.方法.
不是所有对象都可以接受焦点,框架,标签,不是所有对象都可以接受焦点,框架,标签,
直线,形状,计时器等控件不能接受焦点.直线,形状,计时器等控件不能接受焦点.
6.9 焦点与Tab顺序
可以从控件的外观分辨出控件是否具有焦点:可以从控件的外观分辨出控件是否具有焦点:
观察对象是否有虚线框或者插入点.观察对象是否有虚线框或者插入点.
TabTab顺序是在按顺序是在按TabTab键时焦点在控件间移动的顺键时焦点在控件间移动的顺
序.每按一次序.每按一次TabTab键,可以使焦点从一个控件键,可以使焦点从一个控件
移动到另一个控件.在一般情况下,移动到另一个控件.在一般情况下,TabTab顺序顺序
由控件建立时的先后顺序决定.可以通过修改由控件建立时的先后顺序决定.可以通过修改
控件的控件的TabIndexTabIndex属性来改变属性来改变TabTab顺序.顺序.
可以获得焦点的控件都有可以获得焦点的控件都有TabStopTabStop属性,当把属性,当把
该属性置为该属性置为FalseFalse,,则控件不能接受焦点.则控件不能接受焦点.
KeyDown、KeyUp事件是当按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。由于一般按下键盘的键往往会立即放开(这和鼠标不同),所以这两个事件使用哪个差别不大。
是不是只有Label控件没有焦点?