请考虑这是我的第一篇文章,而且我是 C# 的新手
我正在创建一个带有多个图片框的用户控件。这些对象会自动命名为 pictureBox1、pictureBox2、pictureBox3 等。
现在我想通过单击更改关联的图像:
pictureBox1.Image = Properties.Resources.i51;
到目前为止,一切都很好。但是如何在不为每个事件编写一行的情况下分配编号呢?
pictureBox(1).Image = Properties.Resources.i51;
不起作用,而且很多其他东西也不起作用。
有什么提示吗?非常感谢!
最佳答案
您可以在用户控件上创建图片框列表:
List<PictureBox> boxes = new List<PictureBox>();
现在,在构造函数中初始化图片框后,将它们添加到列表中:
boxes.Add(pictureBox1);
boxes.Add(pictureBox2);
...
现在使其通过公共(public)属性(property)可见:
public List<PictureBox> Boxes
{
get
{
return this.boxes;
}
}
现在您可以通过以下方式在类(class)中分配:
Boxes[0].Image = Properties.Resources.i51;
Boxes[1].Image = Properties.Resources.i51;
如果所有内容都发生在同一个类中,则无需创建上述公共(public)属性。
关于c# - 将对象名称与数字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478151/