我想用数组管理这些pictureBox的图片显示。
就很简单的想,
PictureBox[] pic = new PictureBox[15]{ pictureBox1, pictureBox2, pictureBox3, pictureBox4, pictureBox5, pictureBox6, pictureBox7, pictureBox8, pictureBox9, pictureBox10, pictureBox11, pictureBox12, pictureBox13, pictureBox14,pictureBox15};
然后再后面想直接用pic[i]来调用。
出错了,额,我刚刚接触C#,求助于各位大虾。
能否告诉小弟该如何实现我想要的用 数组 来完成对pictureBox控件的调用。
14 个解决方案
#1
PictureBox[] pb = new PictureBox[4];
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
#2
PictureBox[] pic = new PictureBox[15];
for (int i = 0; i < pic.Length; i++)
{
pic[i] = new PictureBox();
pic[i].Name = "PictureBox" + Convert.ToString(i + 1);
pic[i].Location = ...;
}
#3
怎么用了这么多Picturebox?
#4
2#已经解答了~
#5
2#,你的回复的确给我启发。但是我在调试过程中,发现这个并不能帮我摆脱困境。
举个例子来说,pic[3].Image属性变了,而pictureBox3的属性没有任何变化。
所以感觉pic[3]和控件上的pictureBox3并不是同一个。
感谢你的指教
#6
你想每一个都由你控制,你必须创建时就用到数组
#7
何必搞数组。
难道容器控件的controls不是数组?
难道容器控件的controls不是数组?
#8
用ImageList控件,把你的15张图片放在这个里面!
//imageList1.Images[0]这个就是取出ImageList控件里面的第一张图片,在窗体里面任意调用
pictureBox1.Image = imageList1.Images[0];
//imageList1.Images[0]这个就是取出ImageList控件里面的第一张图片,在窗体里面任意调用
pictureBox1.Image = imageList1.Images[0];
#9
完全可以,按7楼的做。
#10
补充添加图片方法:
例:
ImageList1.Images.Add(Image.FromFile("c:\\windows\\FeatherTexture.bmp"));
#12
呵呵~问题解决了,是同学给了我莫大启示。
public void SZPi()//数组picturebox
{
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox3);
pic.Add(pictureBox4);
pic.Add(pictureBox5);
pic.Add(pictureBox6);
pic.Add(pictureBox7);
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox10);
pic.Add(pictureBox11);
pic.Add(pictureBox12);
pic.Add(pictureBox13);
pic.Add(pictureBox14);
PictureBox [] values = (PictureBox[])pic.ToArray(typeof(PictureBox));
}
后面就是pictureBox.Image=..........
真是不好意思,这么简单的问题还提出来。
个人而言,收获有些。知道了动态数组的实现。
感谢2#,只是我觉得那个内存上分配得地址是不一样,呵呵~果然没有实现。
谢谢在这里留言的各位。
public void SZPi()//数组picturebox
{
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox3);
pic.Add(pictureBox4);
pic.Add(pictureBox5);
pic.Add(pictureBox6);
pic.Add(pictureBox7);
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox10);
pic.Add(pictureBox11);
pic.Add(pictureBox12);
pic.Add(pictureBox13);
pic.Add(pictureBox14);
PictureBox [] values = (PictureBox[])pic.ToArray(typeof(PictureBox));
}
后面就是pictureBox.Image=..........
真是不好意思,这么简单的问题还提出来。
个人而言,收获有些。知道了动态数组的实现。
感谢2#,只是我觉得那个内存上分配得地址是不一样,呵呵~果然没有实现。
谢谢在这里留言的各位。
#13
8#,你这个应该是对图片做一个管理的吧,呵呵~只是我要的并不是这样子。而是用数组调用pictureBox控件,不单单是它的图片属性,还有其他。比如说pic[i].Show();
我接触C#时日不多,谢谢指教了
#14
PictureBox[] pb = new PictureBox[4];
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
就是阿
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
就是阿
#1
PictureBox[] pb = new PictureBox[4];
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
#2
PictureBox[] pic = new PictureBox[15];
for (int i = 0; i < pic.Length; i++)
{
pic[i] = new PictureBox();
pic[i].Name = "PictureBox" + Convert.ToString(i + 1);
pic[i].Location = ...;
}
#3
怎么用了这么多Picturebox?
#4
2#已经解答了~
#5
2#,你的回复的确给我启发。但是我在调试过程中,发现这个并不能帮我摆脱困境。
举个例子来说,pic[3].Image属性变了,而pictureBox3的属性没有任何变化。
所以感觉pic[3]和控件上的pictureBox3并不是同一个。
感谢你的指教
#6
你想每一个都由你控制,你必须创建时就用到数组
#7
何必搞数组。
难道容器控件的controls不是数组?
难道容器控件的controls不是数组?
#8
用ImageList控件,把你的15张图片放在这个里面!
//imageList1.Images[0]这个就是取出ImageList控件里面的第一张图片,在窗体里面任意调用
pictureBox1.Image = imageList1.Images[0];
//imageList1.Images[0]这个就是取出ImageList控件里面的第一张图片,在窗体里面任意调用
pictureBox1.Image = imageList1.Images[0];
#9
完全可以,按7楼的做。
#10
补充添加图片方法:
例:
ImageList1.Images.Add(Image.FromFile("c:\\windows\\FeatherTexture.bmp"));
#11
纠正一下,上面说到的是不太确切,动态数组控件动态赋值可以参考一下
http://bbs.firnow.com/dview16t24008.html
http://bbs.firnow.com/dview16t24008.html
#12
呵呵~问题解决了,是同学给了我莫大启示。
public void SZPi()//数组picturebox
{
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox3);
pic.Add(pictureBox4);
pic.Add(pictureBox5);
pic.Add(pictureBox6);
pic.Add(pictureBox7);
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox10);
pic.Add(pictureBox11);
pic.Add(pictureBox12);
pic.Add(pictureBox13);
pic.Add(pictureBox14);
PictureBox [] values = (PictureBox[])pic.ToArray(typeof(PictureBox));
}
后面就是pictureBox.Image=..........
真是不好意思,这么简单的问题还提出来。
个人而言,收获有些。知道了动态数组的实现。
感谢2#,只是我觉得那个内存上分配得地址是不一样,呵呵~果然没有实现。
谢谢在这里留言的各位。
public void SZPi()//数组picturebox
{
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox3);
pic.Add(pictureBox4);
pic.Add(pictureBox5);
pic.Add(pictureBox6);
pic.Add(pictureBox7);
pic.Add(null);
pic.Add(null);
pic.Add(pictureBox10);
pic.Add(pictureBox11);
pic.Add(pictureBox12);
pic.Add(pictureBox13);
pic.Add(pictureBox14);
PictureBox [] values = (PictureBox[])pic.ToArray(typeof(PictureBox));
}
后面就是pictureBox.Image=..........
真是不好意思,这么简单的问题还提出来。
个人而言,收获有些。知道了动态数组的实现。
感谢2#,只是我觉得那个内存上分配得地址是不一样,呵呵~果然没有实现。
谢谢在这里留言的各位。
#13
8#,你这个应该是对图片做一个管理的吧,呵呵~只是我要的并不是这样子。而是用数组调用pictureBox控件,不单单是它的图片属性,还有其他。比如说pic[i].Show();
我接触C#时日不多,谢谢指教了
#14
PictureBox[] pb = new PictureBox[4];
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
就是阿
pb[0] = pictureBox1;
pb[1] = pictureBox2;
pb[2] = pictureBox3;
pb[3] = pictureBox4;
应该可以的吧
就是阿