private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
PictureBox[] pic=new PictureBox[2];
for (int i = 0; i < 2; i++)
{ pic[i] = new PictureBox();
pic[i].Height =100;
pic[i].Width = 100;
pic[i].SizeMode = PictureBoxSizeMode.StretchImage;
pic[i].Location = new Point(30, 130*i);
pic[i].Image = Image.FromFile(openFileDialog1.FileName);
this.Controls.Add(pic[i]);
}
为什么这个代码第一次打开一个jpg可以顺序加载到pictureboxz中,第二次打开另外一个jpg就显示不出来,picturebox还是显示第一次加载的图片,没有刷新?
{
PictureBox[] pic=new PictureBox[2];
for (int i = 0; i < 2; i++)
{ pic[i] = new PictureBox();
pic[i].Height =100;
pic[i].Width = 100;
pic[i].SizeMode = PictureBoxSizeMode.StretchImage;
pic[i].Location = new Point(30, 130*i);
pic[i].Image = Image.FromFile(openFileDialog1.FileName);
this.Controls.Add(pic[i]);
}
为什么这个代码第一次打开一个jpg可以顺序加载到pictureboxz中,第二次打开另外一个jpg就显示不出来,picturebox还是显示第一次加载的图片,没有刷新?
解决方案 »
- c#如何实现在界面form出来之前,出现一段“加载中...”的图像界面,避免UI假死现象
- winform中datagridview运用checkbox
- 关于进程的小问题
- 一道.Netframework的基础理论题目,求详细解答?
- 源代码down下来 可是在我机器上却用不了
- 关于常数定义......
- 在vsip(visual studio sdk 2005)中怎么样给HierarchyNode添加菜单啊,然后怎么激发菜单单击事件啊?
- datatable 合并 数据
- DataMember的问题求助
- 安装。NET,为什么还得安装WIN2000 SP2呀?
- 在C#中怎么制作不规则的按钮?
- dataGrid显示execl
可能你还是没有看懂我写的代码
第二次打开的都被覆盖了.简单解决方法,把图片加载至不同位置
private static int j;
窗体_Load事件
j=1;openFileDialog1_FileOk事件
{
{
...
pic[i].Location = new Point(j*110, 130 * i);
...
}
j++;
}
pic[i].BringtoFront()就可
pic[i].Refresh();
怎么dispose();
我怎么去获得上次实例化的picturebox的索引,出了作用域的。
如果非要放在一起 也是有办法的
不过你要了解 为什么有的控件会放在顶层有的控件会放在底层?
this.Controls[0]的控件会放在容器的最顶层的
this.Controls[Controls.Count-1]的控件是在容器的最底层的所以 this.Controls.Add(pic[i]);之后要加一句
this.Controls.SetChildIndex(pic[i], 0);
放两个固定的 不更好?
我是要从数据库中读出图片加载,每次读出的图片数不固定,所以要每次根据图片数来new picturebox,
this.controls[this.control.count-1]是根据索引,如何直接从controls访问控件名来dispose, 比如this.control["控件名"],这样好像不行,而且第二次事件pic也出了作用域,也无法获得pic的引用,所以如何去清除上次controls.add的控件?