vb中"当text文本失去焦点" 这条语句怎么写代码
展开全部
文本框焦点事件
onBlur:当失去输入焦点后产生该事件
onFocus:当输入获得焦点后,产生该文件
Onchange:当文字值改变时,产生该事件
Onselect:当文字加亮后,产生该文件
onpropertychange 当属性改变发生该事件 无论粘贴 keyup onchange等
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
展开全部
'有一个事件,名字叫Text1_LostFocus,相关语句为
'取得焦点控件的名称
Dim ctl As Control
Set ctl = Screen.ActiveControl
Print "当前得到焦点的是:" & ctl.Name
'可以以此来判断
if ctl.Name <> text1 then MsgBox "text1失去了焦点"
'取得焦点控件的名称
Dim ctl As Control
Set ctl = Screen.ActiveControl
Print "当前得到焦点的是:" & ctl.Name
'可以以此来判断
if ctl.Name <> text1 then MsgBox "text1失去了焦点"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
希望能帮到你……
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
希望能帮到你……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询