如何一次隐藏多个图片框?

时间:2011-10-16 07:23:31

标签: vb.net picturebox

我的代码:

Case 1 To 9
            txtPlanet.Text = "Mercury"
            pl1.Show()
            pl2.Hide()
            pl3.Hide()
            pl4.Hide()
            pl5.Hide()
            pl6.Hide()
            pl7.Hide()
            pl8.Hide()
            pl9.Hide()

我如何制作它如此:pl1.Show,pl2-9.Hide。 如果那是不可能的,那么结合代码的最佳解决方案是什么?

提前致谢。

3 个答案:

答案 0 :(得分:1)

这就是我要做的。它假设您在Visual Studio 2010中使用VB.NET。

Dim pictureBoxes = {pl1, pl2, pl3, ....}
Dim shownPicture = Nothing

Select Case planetToShow
    Case "Mercury"
        shownPicture = pl1
    Case "Venus"
        shownPicture = pl2

    ....

End Select

For Each pic in pictureBoxes.Except({shownPicture})
    pic.Hide()
Next

shownPicture.Show()

答案 1 :(得分:0)

一个精选案例编写得不好,因为你只写了一个案例,必须有一个if函数语句。

Select case textPlanet.Text
  case "Mercury"
    pl1.Show()
    pl2.Hide()
    pl3.Hide()
    pl4.Hide()
    pl5.Hide()
    pl6.Hide()
    pl7.Hide()
    pl8.Hide()
    pl9.Hide()
  case "Venus"
    // Repeat above statements with pl2.Show() & pl1.Hide
 //Repeat each case for each planet        
  end case

我不确定字符串是否可以正常使用案例,如果没有尝试使用整数

答案 2 :(得分:0)

尝试使用.Controls.Find()搜索控件 这会重新发现一个找到的控件数组。 然后通过每个控件... ...

您必须从父控件中搜索控件。 I.E. Form,Groupbox ......