Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net InvalidCastException指定的强制转换无效_Vb.net_If Statement_Label_Picturebox - Fatal编程技术网

Vb.net InvalidCastException指定的强制转换无效

Vb.net InvalidCastException指定的强制转换无效,vb.net,if-statement,label,picturebox,Vb.net,If Statement,Label,Picturebox,如果TextBox1和TextBox2文本等于确定词,我不想制作一个图片盒和一个标签 但我收到一个错误… 求求你,救命 代码如下: Public Class Appearance Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "Brown" & TextBox

如果TextBox1和TextBox2文本等于确定词,我不想制作一个图片盒和一个标签

但我收到一个错误…
求求你,救命

代码如下:

Public Class Appearance
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "Brown" & TextBox2.Text = "Brown" Then
            PictureBox4.Image = My.Resources.brown
            PictureBox2.Image = My.Resources.blue
            PictureBox5.Image = My.Resources.green
            PictureBox4.Visible = True
            PictureBox2.Visible = True
            PictureBox5.Visible = True
            Label7.Visible = True
            Label8.Visible = True
            Label9.Visible = True
        End If
    End Sub
End Class

在VB.NET中,
&
表示。您可能希望使用:

编辑:抱歉,您想将TextBox1和TextBox2值与一个字符串值进行比较 以下机构已提供正确的评估:


编辑:下面的建议是错误的。。 替换这个

    If TextBox1.Text = "Brown" & TextBox2.Text = "Brown" Then
据此:

    If TextBox1.Text = TextBox2.Text Then

编辑:我把解释留在这里 如果您编写
如果TextBox1.Text=“Brown”&TextBox2.Text=“Brown”,那么
,我们假设TextBox2.Text“Brown”,发生的情况是:

  • 由于
    &
    在VB中用于字符串连接,就像
    +
    一样,
    TextBox1.Text
    将与链
    “Brown”&TextBox2.Text=“Brown”
    进行比较
  • 使用
    “Brown”和TextBox2.Text=“Brown”
    “Brown”和TextBox2.Text将首先求值,因为
    字符串concatener优先于
    =
    布尔求值。您将得到连接的字符串
    “BrownBrown”
    (=“Brown”)
  • 然后,您将有
    “BrownBrown”=“Brown”
    ,在这个阶段,如果TextBox1.Text=“brownbrownbrown”=“Brown”则整个评估链是
  • 将首先计算
    TextBox1.Text=“BrownBrown”
    ,并返回
    False
    。最后,您正在评估:

如果左侧已经为
False
,则比较右侧没有意义。你应该知道这是VB的一个独特的小故障但是,我不知道它是否已修复,因为。但如果不是,则同样适用于


=>你最好从一开始就使用
而不是
和/或

是的,我是VB.net新手,不知道该用什么,非常感谢!请不要忘记接受答案。
    If TextBox1.Text = "Brown" & TextBox2.Text = "Brown" Then
    If TextBox1.Text = TextBox2.Text Then
    If False = "Brown" Then ' <- Boolean comparison with String Error !
    If False = True And "SameValue" = "SameValue" ' will always return False.