黑色衣服怎么搭配裤子:菜鸟学VB。^_^!

来源:百度文库 编辑:高校问答 时间:2024/05/04 19:32:59
我想问一个问题:
(1)我想实现:
当在文本框(text1)中没有任何内容时,按钮(command1)为不可用状态!而在我输入了内容时,这个按钮又变为可用!
举例:如安装程序的序列号输入框!
当没有序列号输入时,下一步按钮不可用(无论其序列号是否正确);但当输入了序列号时,下一步按钮可用!
(2)如何限制输入的位数!比如限制输入者只能输入2位数的数字!对了,还要要求输入的是数字而不是汉字或字母!
以上两个问题请直接给出代码、或告诉我要在右侧属性边栏更改的内容!如必要,请在适当位置加注释。
虽然麻烦点,但是还是请各位编程高手帮帮我吧!小弟在此谢谢各位了!

1、在窗体上添加Timer、Text、Command控件,并添加代码:
Private Sub Form_Load()
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
If Text1.Text = "" Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
End Sub
2、限制文本框输入的字符数为10的代码为:
Text1.MaxLength=10
或者直接设定起属性MaxLength的值为10。限制输入的字符为数字的为:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
MsgBox "你输入的字符不是数字,请重新输入", , ""
End If
End Sub

问题1

楼上的回答太那个啦,用什么Timer检查。 是否是太浪费系统资源,文本框的Change事件不就行了
以下代码绝对可行!又简单。

Private Sub Text1_Change()
If Text1 = "" Then Command1.Enabled = False Else Command1.Enabled = True’判断Text1中是否有文本,有则Command1可用 否则command1不可用。
End Sub

问题2
把Text1的Maxlength属性设置为2
或者用代码来改:Text1.maxlength=2
如果是要在输入之后再判断的话,用IsNumeric判断是最方便的。
If Not IsNumeric(Text1) then msgbox"输入的不是数字": text1="" '如果不是数字就清除text中的内容

如果是只允许输入数字的话,楼上的方法就可以了。
检测Ascii码的范围,注意退格键的Ascii是8, 如果要允许用退格键就考虑到。
我的QQ:/*null*/