引用具有1个名称的多个对象/变量

时间:2014-08-30 17:54:22

标签: c# variables object reference

在C#中,我正在制作平台游戏。地形是图片框,并且与碰撞系统例如。我需要有一个名称来引用一些选定的图片框,因为与另一个图片框制作相同功能的代码太多了。 那么,一个例子,如果" picturebox1"和" picturebox2"被引用为" pictureall"然后,如果执行此代码:

pictureall.Visible = false;

两者" picturebox1"和" picturebox2"会是看不见的。那么,我如何参考(在该示例中)具有1个名称的2个图片框?

修改 我主要是在If语句中使用它。所以,比如说,例如:      if(pictureall.Visible == true)MessageBox.Show(" true"); 如果任何图片框可见,那就是真的。

/尤

2 个答案:

答案 0 :(得分:1)

您创建了一个名为Grouppictures的自定义类

  1. 这将包含作为成员变量的图片列表
  2. 方法SetVisibility(bool visible)
  3. 在上述方法中,您将循环并设置所有图片的可见性
  4. 但您将该方法称为GrouppicturesObj.SetVisibity(false);

答案 1 :(得分:0)

如果您不想像kishore VM建议的那样使用自定义集合类,您可以将选择的图片框放在List<T>等集合中,并使用可用(扩展)方法,例如

List<PictureBox> pictureBoxes = new List<PictureBox>();

// fill the list
pictureBoxes.Add(...);

// do something to all boxes in the list
pictureBoxes.ForEach(box => box.Visible = true);

// ask something about the boxes in the list
if (pictureBoxes.Any(box => box.Visible))
{
    // at least one box visible
}
// or:
if (pictureBoxes.All(box => box.Visible))
{
    // all boxes visible
}

参考文献: