我的代码:
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。 如果那是不可能的,那么结合代码的最佳解决方案是什么?
提前致谢。
答案 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 ......