VB.net:两个图片框消失,但第三个不会

VB.net:两个图片框消失,但第三个不会,vb.net,picturebox,Vb.net,Picturebox,好的,这基本上是要把图片框的可见性变成false,如果它们的健康度低于零。健康状况在开始时与所有其他变量一起声明。当两个敌人的生命值为零时,他们总是消失,但一个总是继续存在。它们的运动、健康等代码是相同的。有什么建议吗 If zombie1health < 0 Then zombie1.Visible = False ElseIf zombie2health < 0 Then zombie2.Visible = False

好的,这基本上是要把图片框的可见性变成false,如果它们的健康度低于零。健康状况在开始时与所有其他变量一起声明。当两个敌人的生命值为零时,他们总是消失,但一个总是继续存在。它们的运动、健康等代码是相同的。有什么建议吗

    If zombie1health < 0 Then

        zombie1.Visible = False

    ElseIf zombie2health < 0 Then

        zombie2.Visible = False

    ElseIf zombie3health < 0 Then

        zombie3.Visible = False

    ElseIf zombie1.Visible = False And zombie2.Visible = False And zombie3.Visible = False Then

        zlblnext.Visible = True
        zbtnnext.Visible = True
        zbtnnext.Enabled = True

    End If
当您可能应该只使用if语句时,您正在使用if-ElseIf

你正在使用的代码将只隐藏所有3个僵尸,如果他们以3,2和1的顺序死亡

将其更改为单独的Ifs可能会解决您的问题

If zombie1health < 0 Then
    zombie1.Visible = False
End if

If zombie2health < 0 Then
    zombie2.Visible = False
End if

If zombie3health < 0 Then
    zombie3.Visible = False
End if

If zombie1.Visible = False And zombie2.Visible = False And zombie3.Visible = False Then

    zlblnext.Visible = True
    zbtnnext.Visible = True
    zbtnnext.Enabled = True

End If

我试过了,但谢谢你。可能是因为它在计时器滴答子菜单中。请尝试将僵尸健康<0更改为僵尸健康