
关于VB的小问题! 10
关于这个小程序PrivateSubCommand1_Click()Dima%,b%a=Val(Text1.Text)b=Val(Text2.Text)Ifa>=1000T...
关于这个小程序
Private Sub Command1_Click()
Dim a%, b%
a = Val(Text1.Text)
b = Val(Text2.Text)
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a < 800 Then
b = (a + (a * 0.1))
End If
End Sub
上面的b为什么会赋值不到的,像>=1000那里,用 Text2.Text = (a + (a * 0.2))就能赋值,而用 b = (a + (a * 0.2))就赋值不到这是为什么? 展开
Private Sub Command1_Click()
Dim a%, b%
a = Val(Text1.Text)
b = Val(Text2.Text)
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a < 800 Then
b = (a + (a * 0.1))
End If
End Sub
上面的b为什么会赋值不到的,像>=1000那里,用 Text2.Text = (a + (a * 0.2))就能赋值,而用 b = (a + (a * 0.2))就赋值不到这是为什么? 展开
2个回答
展开全部
分析:
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a < 800 Then
b = (a + (a * 0.1))
End If
你这个是三个独立的If语句,程序从上到下执行的;
如果满足 a >= 1000,那也一定满足 a >= 800
所以 b 最终还是会得到 (a + (a * 0.15))
解决的办法有2个:
办法一;改变它们的次序
If a < 800 Then
b = (a + (a * 0.1))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
办法二;用多分支结构
If 条件1 Then
语句组1
ElseIf 条件2 Then
语句组2
Else
语句组3
End if
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
ElseIf a >= 800 Then
b = (a + (a * 0.15))
Else
b = (a + (a * 0.1))
End If
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a < 800 Then
b = (a + (a * 0.1))
End If
你这个是三个独立的If语句,程序从上到下执行的;
如果满足 a >= 1000,那也一定满足 a >= 800
所以 b 最终还是会得到 (a + (a * 0.15))
解决的办法有2个:
办法一;改变它们的次序
If a < 800 Then
b = (a + (a * 0.1))
End If
If a >= 800 Then
b = (a + (a * 0.15))
End If
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
End If
办法二;用多分支结构
If 条件1 Then
语句组1
ElseIf 条件2 Then
语句组2
Else
语句组3
End if
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
ElseIf a >= 800 Then
b = (a + (a * 0.15))
Else
b = (a + (a * 0.1))
End If
追问
Private Sub Command1_Click()
Private Sub Command1_Click()
Dim a#, b#
a = Val(Text1.Text)
b = Val(Text2.Text)
If a >= 1000 Then
Text2.Text = (a + (a * 0.2))
Else
If a <= 1000 Then
Text2.Text = (a + (a * 0.15))
End If
If a < 800 Then
Text2.Text = (a + (a * 0.1))
End If
End If
End Sub
像我改成这样以后就不会出现问题!
其实我想问的是把text2.text 改成b 为什么会不行的原因哦!
展开全部
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.TextBox1.Text = (Me.TextBox1.Text) - 1
If Me.TextBox1.Text = 0 Then
Timer1.Enabled = False
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox1.Text <= 0 Then
MsgBox("请输入数值!")
Else
Timer1.Enabled = True
End If
End Sub
End Class
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.TextBox1.Text = (Me.TextBox1.Text) - 1
If Me.TextBox1.Text = 0 Then
Timer1.Enabled = False
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox1.Text <= 0 Then
MsgBox("请输入数值!")
Else
Timer1.Enabled = True
End If
End Sub
End Class
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询