随机化控制可见性(asp.net)

时间:2011-08-18 11:39:31

标签: asp.net random

我一直在寻找一个解决方案,但还没有找到一个,我不太擅长用c#随机化。

我有三个asp.net控件,我想在任何时候都可以看到其中一个控件。

控件可能是这样的

小组1

小组2

小组3

所以我猜这些控件默认设置为visible ='false'。然后randomize方法将选择其中一个控件并使其可见='true'。

我认为这里最难的部分是将控件放入数组中进行随机化?再说一次,我不知道怎么做,所以任何帮助都会很棒。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

这个怎么样:

Panel[] array1 = new Panel[3];
array1[0] = panel1;
array1[1] = panel2;
array1[2] = panel3;

foreach(Panel p in array1) {
  p.Visible = False;
}

Random rand = new Random();
int toshow = rand.next(0, 3);
array1[toshow].Visible = true;

如果它正常工作,这是从我的头部召集而没有任何IDE支持。 random的类名可能有误(在数学命名空间中不是吗?)

答案 1 :(得分:1)

Random rnd = new Random();
var visiblePanel = rnd.Next(1, 4);
switch (visiblePanel) {
    case 1:
        Panel1.Visible = true;
        Panel2.Visible = false;
        Panel3.Visible = false;
        break;
    case 2:
        Panel1.Visible = false;
        Panel2.Visible = true;
        Panel3.Visible = false;
        break;
    case 3:
        Panel1.Visible = false;
        Panel2.Visible = false;
        Panel3.Visible = true;
        break;
}