VB中的lostfocus是什么意思,怎么用啊?

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:42:14
什么是焦点啊?
private sub text1_lostfocus()
dim a
a=VAL(text1.text)
if a<0 or a>100 then
beep
text1.text=""
text1.setfocus
print "重新输入"
else
print a
end if
这段代码里的lostfocus,和setfocus有什么用啊?焦点是什么意思干什么用的啊?
这段代码有个command控键,但是这个控键里没有代码啊,为什么按这个控键,还能起作用呢?
我晕啊~~
分不多~请懂的哥哥们回答吧~

LostFocus事件,是当控件失去焦点时被触发。

比如你的例子,Text1_LostFocus(),这个sub中的代码,在Text1失去焦点的时候会被运行。
(失去焦点简单理解:Text1可以输入的时候就是还有焦点,当你鼠标点到其它地方去了或者按Tab键等等,让Text1不再可以输入,这样它就失去焦点了。)

你的Command控件虽然没有事件代码,但是点击command控件后焦点会移到command控件上,Text1就失去焦点了,然后就会触发Text1_LostFocus()事件。

Text1.SetFocus就是通过代码执行强制让Text1重新获得焦点。
你的代码的意思是,在Text1失去焦点的时候,判断Text1输入的数字是否在1和100之间,如果不是则发出警告音并在窗口输出“重新输入”,同时Text1内容清空并重新获得焦点等待正确的输入;否则就输出正确的数字。

LostFocus 事件
此事件是在一个对象失去焦点时发生,焦点的丢失或者是由于制表键移动或单击另一个对象操作的结果,或者是代码中使用 SetFocus 方法改变焦点的结果。
SetFocus 方法
将焦点移至指定的控件或窗体
你的代码是当Command控件获得焦点时即发生Text1_LostFocus事件,对Text1内输入的数字进行判断,符合就赋值给变量a,并输出到窗体
Print a