VB里面怎么设置一个过程现在只能输入数字。
VB里面怎么设置一个过程现在只能输入数字。然后在多个文本框输入时调用这个验证,不对的等于没有输入。新手请把全部程序代码发上来谢谢了。...
VB里面怎么设置一个过程现在只能输入数字。然后在多个文本框输入时调用这个验证,不对的等于没有输入。新手请把全部程序代码发上来谢谢了。
展开
3个回答
展开全部
Sub KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyPress KeyAscii
End Sub
类会用吗?尝试一下下面的方法:
菜单:工程-添加类模块,类模块中代码如下:
Dim WithEvents Text1 As TextBox
Sub Attach(txt As TextBox)
Set Text1 = txt
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Form1中代码如下:
Dim cls1 As New Class1
Private Sub Form_Load()
cls1.Attach Text1
End Sub
Form2中代码如下:
Dim cls1(1) As New Class1
Private Sub Form_Load()
cls1(0).Attach Text1
cls1(1).Attach Text2
End Sub
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyPress KeyAscii
End Sub
类会用吗?尝试一下下面的方法:
菜单:工程-添加类模块,类模块中代码如下:
Dim WithEvents Text1 As TextBox
Sub Attach(txt As TextBox)
Set Text1 = txt
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
Form1中代码如下:
Dim cls1 As New Class1
Private Sub Form_Load()
cls1.Attach Text1
End Sub
Form2中代码如下:
Dim cls1(1) As New Class1
Private Sub Form_Load()
cls1(0).Attach Text1
cls1(1).Attach Text2
End Sub
追问
这个果然高级点。我想问下form1和form2的代码有什么区别和不同好像功能一样,为什么form2里面的变量不是cls2.而是cls1(1)这个有什么不同。还有可以让我按回格键(backspace)有效果吗?这个键不屏蔽可以不?
追答
Form1和Form2没有区别,只是Form1中一个Text,Form2中俩Text。cls1和cls2是在窗体模块内定义,你想咋定义都可以:
dim a as new class1,b as new class1
a.Attach Text1
b.Attach Text2
屏蔽backspace:
If KeyAscii 8 And (KeyAscii 57) Then KeyAscii = 0
If KeyAscii 8 And Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
展开全部
Sub CheckNum(Txt As TextBox)
Dim Temp As String
Static fTemp As String
Temp = Txt.Text
If IsNumeric(Temp) Then
Txt.Text = Temp
Else
Txt.Text = fTemp
End If
fTemp = Txt.Text
End Sub
Private Sub Text1_Change() '调用示例,检查text1的,text2以此类推
CheckNum Text1
Text1.SelStart = Len(Text1.Text)
End Sub
Dim Temp As String
Static fTemp As String
Temp = Txt.Text
If IsNumeric(Temp) Then
Txt.Text = Temp
Else
Txt.Text = fTemp
End If
fTemp = Txt.Text
End Sub
Private Sub Text1_Change() '调用示例,检查text1的,text2以此类推
CheckNum Text1
Text1.SelStart = Len(Text1.Text)
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IsNumeric 函数是判断一个表达式是否是数值,其返回值如果是真,是数值,如果是假,表示不是数值:
Private Sub Text1_Change()
If IsNumeric(Text1.Text) = True Then
MsgBox "文本框输入的是有效数值"
Else
MsgBox "文本框输入的有非数值字符"
End If
End Sub
Private Sub Text1_Change()
If IsNumeric(Text1.Text) = True Then
MsgBox "文本框输入的是有效数值"
Else
MsgBox "文本框输入的有非数值字符"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询