如何限制combobox里面手输入的文字长度。
如题 问题点数:100、回复次数:6Top
1 楼daisy8675(莫依 沉迷)回复于 2006-03-09 21:33:36 得分 5
Private Sub Combo1_Change()
If Len(Trim(Combo1.Text)) > 6 Then
MsgBox "不允许超过6位"
Me.Combo1.Text = Left(Me.Combo1.Text, 6)
End If
End Sub
Top
2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-09 21:40:00 得分 5
ComboBox没有直接设置的属性
Forms 2.0的ComboBox可以直接设置MaxLength来实现
添加Forms 2.0 :工程/部件/Microsoft Forms 2.0 Object LibraryTop
3 楼tztz520(午夜逛街)回复于 2006-03-09 21:49:44 得分 5
Private Sub Combo1_Change()
If Len(Combo1.Text) > 5 Then
Combo1.Text = Left(Combo1.Text, 5)
Combo1.SelStart = Len(Combo1.Text)
End If
End SubTop
4 楼daisy8675(莫依 沉迷)回复于 2006-03-09 22:26:34 得分 5
哈。楼上你知道如果先写left的话,会过掉前面的数的,哈哈Top
5 楼51365133(渊海)回复于 2006-03-09 22:33:08 得分 5
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If (Len(Combo1.Text) > 6) Then
KeyAscii = 0
End If
End Sub
Top
6 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-09 23:03:53 得分 75
//如何限制combobox里面手输入的文字长度
如果限制的是字符数量的话,用楼上几位的代码就行
如果限制的是字节数量的话,就这样:
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Const CB_LIMITTEXT = &H141
Private Sub Command1_Click()
Dim MaxLength As Long
MaxLength = 6 '字节数
SendMessage Combo1.hwnd, CB_LIMITTEXT, MaxLength, ByVal 0&
End Sub
Top




