首页 新闻 会员 周边 捐助

在页面动态添加 pictureBox控件的实现

0
悬赏园豆:30 [已解决问题] 解决于 2015-07-30 15:44

在一个Form页面上放一个textbook和一个button,textbook输入数字,点击button,触发事件,代码如下:

for (int i = 0; i < textbox1.text; i++)
{
PictureBox p = new PictureBox();
p.Image = imageList1.Images[0];
p.Parent = this;

//设定位置
p.Top = 50 + i * 30;
//添加控件
this.Controls.Add(p);
}

每次不管输入哪个数字(大于0),都只会画一个picturebox,是怎么回事呢?

孤独的守候者的主页 孤独的守候者 | 初学一级 | 园豆:48
提问于:2015-07-30 14:48
< >
分享
最佳答案
1

亲不是只绘制一次,而是你添加的全部重叠在一起的,如果多添加的每个picturebox设置下top和left的值,就看的出来了

例如:

int topOffset = 200;

p.top = topOffset; (让每个添加的pixbox偏移上次添加的200,这个topoffset最好是图片的高度值)

topOffset+= 图片的高度

收获园豆:20
visonme | 小虾三级 |园豆:1674 | 2015-07-30 15:11

谢了。

孤独的守候者 | 园豆:48 (初学一级) | 2015-07-30 15:45
其他回答(1)
1

这代码是没有问题的   问题应该是出在 p.top=50+i*30    控件容器都是当前窗体  你只把每个top增加30  那么图片是会重叠的  你可能看到就是一张图片

收获园豆:10
jio92 | 园豆:1064 (小虾三级) | 2015-07-30 15:06

谢谢了。

支持(0) 反对(0) 孤独的守候者 | 园豆:48 (初学一级) | 2015-07-30 15:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册