ElseIf语句不会运行整个代码VB



好的,所以我一直在编写一个程序,出于某种原因,当我把一点代码放进else-if语句中时,它根本不会运行该语句,甚至不会运行原始的if语句,但是当我把它放在常规的if and else语句中时它运行得很好。

这段代码有效:

  If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
        Bearing = Atan(X2 / Y2) * 57.3
    Else
        Bearing = Atan(Y2 / X2) * 57.3
        Bearing = Bearing + -Bearing + -Bearing + 90
        If BOFF > 0 Then
            Bearing = Bearing - Math.Round(BOFF)
        Else
            Bearing = Bearing + Math.Round(BOFF)

        End If

    End If

这段代码不起作用:

    If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
        Bearing = Atan(X2 / Y2) * 57.3
    ElseIf TextBox5.Text > TextBox1.Text & TextBox6.Text < TextBox2.Text Then
        Bearing = Atan(Y2 / X2) * 57.3
        Bearing = Bearing + -Bearing + -Bearing + 90
        If BOFF > 0 Then
            Bearing = Bearing - Math.Round(BOFF)
        Else
            Bearing = Bearing + Math.Round(BOFF)

        End If

    End If

可能是语法错误之类的,但它根本不会出现错误,可以完美地运行代码等等。我不知道我在这里做错了什么。

您应该使用AND而不是&

AND是逻辑运算符,而&用于连接字符串

它是逻辑运算符,也是按位AND运算符。如果操作数为true,则条件变为true。此操作员不执行短路,即它评估两个表达式。

If TextBox5.Text > TextBox1.Text And TextBox6.Text > TextBox2.Text Then 'NE
       'Code
ElseIf TextBox5.Text > TextBox1.Text And TextBox6.Text < TextBox2.Text Then
       'Code
End If

注意:

如果TextBox1.Text =4TextBox6.Text=1的值,则TextBox1.Text & TextBox6.Text将产生41

参见本demo

&用于连接两个字符串

最新更新