GetFocus\SetFocus\LostFocus区别

一、GetFocus事件

 

Getfocus当一个控件得到焦点时触发, ----过程

获得焦点可以通过诸如TAB 切换,或单击对象之类的用户动作,或在代码中用 SetFocus 方法改变焦点来实现。

语法

Private SubForm_GetFocus( )

Private Subobject_GetFocus([index As Integer])

说明

1、一个控件仅当其Enabled 和 Visible 属性都设置为 True 时才能接收焦点。为了移动焦点,在 Visual Basic中要自定义键盘接口,对于窗体上的控件需设置 Tab 键顺序或指定访问键。

2、通常,GetFocus事件过程用以指定当控件或窗体首次接收焦点时发生的操作。例如,通过给窗体上每个控件附加一个 GetFocus事件过程,就可以显示简要说明或状态条信息给外界提供指导。根据获取焦点控件的不同,通过使其有效、禁止或者是显示其它控件的方式,也可以提供出可视的提示。

 

 

二、SetFocus 方法

 

SetFocus是人为的将焦点移至指定的控件或窗体-----方法

语法

object.SetFocus

说明

1、对象必须是 Form 对象、MDIForm 对象或者能够接收焦点的控件。调用 SetFocus方法以后,任何的用户输入将指向指定的窗体或控件。

2、焦点只能移到可视的窗体或控件。

     1)也就是说窗体或控件 Enabled属性被设置不能设置为 False ,如果已在设计时将 Enabled 属性设置为 False,必须在使用 SetFocus 方法使其接收焦点前将Enabled 属性设置为 True。为了移动焦点,在 Visual Basic 中要自定义键盘接口,对于窗体上的控件需设置 Tab 键顺序或指定访问键。

     2)Form_Load事件也要在过程完成之前首先使用 Show 方法显示窗体,否则是不能使用 SetFocus 方法将焦点移至正在自己的 Load 事件中加载的窗体的。

 

 

三、LostFocus 事件

 

LostFocus是在一个对象失去焦点时发生-----过程

焦点的丢失或者是由于制表键移动或单击另一个对象操作的结果,或者是代码中使用 SetFocus 方法改变焦点的结果。

语法

Private Sub Form_LostFocus( )

Private Sub object_LostFocus([index As Integer])

说明

1、LostFocus 事件过程主要是用来对更新进行验证和确认。使用 LostFocus 可以在焦点移离控件时引进确认。

2、这类事件过程的另一种用途与在 GetFocus 事件过程中的应用类似,可以隐藏、显示其它对象或者使它们有效或无效。也可使设置在该对象的GetFocus 事件过程中的条件取反或对其进行更改。

 

 

 

你可能感兴趣的:(#,VB.NET)