我正在学习用VISUAL BASIC 6.0编程。我要我的标签。标题值相对于textbox1.caption…我使用的代码如下,但它仍然不工作。请帮帮我。问候。
If Val(Text1) > 0 And Val(Text1) < 39 Then
Label20.Caption = "0"
Else
If Val(Text1) > 40 And Val(Text1) < 44 Then
Label20.Caption = "1"
Else
If Val(Text1) > 45 And Val(Text1) < 49 Then
Label20.Caption = "2"
Else
If Val(Text1) > 50 And Val(Text1) < 59 Then
Label20.Caption = "3"
Else
If Val(Text1) > 60 And Val(Text1) < 69 Then
Label20.Caption = "4"
Else
If Val(Text1) > 70 And Val(Text1) < 100 Then
Label20.Caption = "5"
End If
0、39、40、44、45、49、50、59、60、69、70和100不会在上方触发。使用<=
或>=
我假设您在Text1_Change事件中使用该代码?如果没有,你应该:-)
这是一个文本项目,我认为这是你的意思:
'1 form with
' 1 textbox : name=Text1
' 1 label : name=Label1
Option Explicit
Private Sub Text1_Change()
Dim lngVal As Long
lngVal = Val(Text1.Text)
Select Case lngVal
Case 0 To 39
Label1.Caption = "0"
Case 40 To 44
Label1.Caption = "1"
Case 45 To 49
Label1.Caption = "2"
Case 50 To 59
Label1.Caption = "3"
Case 60 To 69
Label1.Caption = "4"
Case 70 To 100
Label1.Caption = "5"
Case Else 'clear label to show something unexpected was entered
Label1.Caption = ""
End Select
End Sub
我猜文本框应该只包含数字?要确保它只能接收数字,您可以添加以下内容:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyBack 'allow the backspace
Case vbKey0 To vbKey9 'allow keys 0 to 9
Case Else 'dont accept any other input
KeyAscii = 0
End Select
End Sub
其他提示:
- 不依赖于控件的默认属性。文本框的文本),但写出来,以防止意外的结果
- 使用select..case代替if..then语句列表
- 总是包含一个结尾'else'来捕获不符合您要求的输入
- 缩进你的代码,这样你就可以很容易地看到你是否错过了"结束如果"