Public Class Form2
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = 123456 Then
MsgBox("Activated")
ElseIf TextBox1.Text = 1234567 Then
MsgBox("Activated2")
End If
End Sub
End Class
我有一个输入框,有2个组合可以为你提供一个msgbox,但是如果输入是其他内容,如何让它读取?
答案 0 :(得分:2)
首先,将Option Strict On
放在代码文件的顶部。这将告诉您不应该检查字符串与整数的相等性。
您可以将整数更改为字符串,或尝试将字符串解析为整数。只比较两个字符串会更安全(不太容易出现异常)。
If TextBox1.Text = "123456" Then
MsgBox("Activated")
ElseIf TextBox1.Text = "1234567" Then
MsgBox("Activated2")
现在提出你的问题。我建议使用Select / Case
来提高可读性和灵活性。在处理两个以上的情况时,我更喜欢使用它。
Select Case TextBox1.Text
Case "123456"
MsgBox("Activated")
Case "1234567"
MsgBox("Activated2")
Case Else
MsgBox("Else")
End Select
一个优点是你只需要评估TextBox1.Text一次,这对于一个字符串属性来说似乎并不重要,但如果它是一个函数调用或某些属性在幕后发生,你就不会一定要调用两次。在If / Else
的情况下,您需要一个临时变量,在Select / Case
中您不需要它(不是说它不会在幕后创建一个)。
另一个好处是>= AND <=
的简写:您可以检查一系列值。
Case "1234567" To "12345678"
将按字母顺序覆盖这两个字符串之间的所有情况。
最后,还有Or
的简写
Case "1234567", "2222222"
将涵盖单一案例中的任何一种情况。
答案 1 :(得分:1)
If TextBox1.Text = 123456 Then
MsgBox("Activated")
ElseIf TextBox1.Text = 1234567 Then
MsgBox("Activated2")
Else
MsgBox(TextBox1.Text)
End If