vb中"当text文本失去焦点" 这条语句怎么写代码

 我来答
百度网友3eb09b3
2013-10-12 · 超过10用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:23.5万
展开全部
文本框焦点事件
onBlur:当失去输入焦点后产生该事件
onFocus:当输入获得焦点后,产生该文件
Onchange:当文字值改变时,产生该事件
Onselect:当文字加亮后,产生该文件
onpropertychange 当属性改变发生该事件 无论粘贴 keyup onchange等
追问
我要做的题目是这样的, text文本中要求输入的是邮政编码,所以我要限制输入的文本长度为6(maxlength=6),然后在keypress下每输入一个字符都要判断一下是否为数字(不可以输入其他字符)然后还要当焦点不再这个text文本上时候,一定要保证已经输入够了6位数 。 (其中都要在适当的地方加上msgbox为了提醒用户)嗯,大概是这样的,多谢了,辛苦了
追答
上面的信息有点错误,我补充下,判断输入为数字的办法有很多,使用的较多的是识别keyascii码
Private Sub Text1_KeyPress( KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{Tab}"
End If
If KeyAscii = 46 Then Exit Sub '小数点
If KeyAscii = 8 Then Exit Sub '退格
If KeyAscii 57 Then
KeyAscii = 0
End If
End Sub

Private Sub Text1_LostFocus() 'Text1 失去焦点
If Len(text1.text)<6 Then
Msgbox "你的邮政编码不是6位,请输入完整!",0,"提示"
Text1.SetFocus
End If

End Sub

Private Sub Text1_GotFocus() '获得焦点
Text1.text = "" 'Text1获得焦点时清空 ,当然这个是否需要看你了,对于输入错误的时 你点这个文本框会清空 你也不知道错哪里了
End Sub
风雪剑无痕
2013-10-12 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1676万
展开全部
'有一个事件,名字叫Text1_LostFocus,相关语句为
'取得焦点控件的名称
Dim ctl As Control
Set ctl = Screen.ActiveControl
Print "当前得到焦点的是:" & ctl.Name
'可以以此来判断
if ctl.Name <> text1 then MsgBox "text1失去了焦点"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
silenceisok
2013-10-12 · TA获得超过119个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:105万
展开全部
Private Sub Form_Load()
txtText1.MaxLength = 6
End Sub
Private Sub txtText1_Change()
If Not IsNumeric(txtText1.Text) And txtText1.Text <> "" Then
MsgBox "请输入正确的邮政编码!"
txtText1.SetFocus
End If
End Sub
Private Sub txtText1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then KeyAscii = 0 '小数点
End Sub
Private Sub txtText1_LostFocus()
If Not IsNumeric(txtText1.Text) Or Len(Trim(txtText1.Text)) <> 6 Then
MsgBox "请输入正确的邮政编码!"
txtText1.SetFocus
End If
End Sub

希望能帮到你……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式