动态生成的PictureBox控件无法置于最顶层?求解

Netcean 2012-12-11 03:36:32
form1中手动放置了一个picturebox(name为pictureBox2),在.cs文件中用以下代码生成一些picturebox

foreach (DataRow dr in dsHeader.Tables[0].Rows)
{
PictureBox pbx = new PictureBox();
Image img = Image.FromFile(Application.StartupPath + "\\images\\" + dr["MenuImg"], false);
pbx.BackgroundImage = img;
pbx.Name = dr["PowerName"].ToString().ToLower();
pbx.Location = new Point(34, 138 + (i * 54));
pbx.Width = img.Width;
pbx.Height = img.Height;
pbx.BringToFront();

并且在这段代码之前设置 pictureBox2.SendToBack();
运行时发现动态生成的pbx被放在窗体中的pbx给遮住了,如果把窗体中手动放置的pbx设置为不可见,则可以在窗体中看到动态生成的pbx,请教大家这要如何解决。

动态生成控件的代码是放在load事件中,会有影响么?
...全文
535 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ching126 2014-12-22
  • 打赏
  • 举报
回复
3楼非常好,顶起
ching126 2014-12-22
  • 打赏
  • 举报
回复
4楼非常好,顶起
Netcean 2012-12-11
  • 打赏
  • 举报
回复
谢谢,问题解决。结帖
viki117 2012-12-11
  • 打赏
  • 举报
回复

foreach (DataRow dr in dsHeader.Tables[0].Rows)
                {
                    PictureBox pbx = new PictureBox();
                    Image img = Image.FromFile(Application.StartupPath + "\\images\\" + dr["MenuImg"], false);
                    pbx.BackgroundImage = img;
                    pbx.Name = dr["PowerName"].ToString().ToLower();
                    pbx.Location = new Point(34, 138 + (i * 54));
                    pbx.Width = img.Width;
                    pbx.Height = img.Height;
                    
this.Controls.Add(pbx);
i++;
pbx.BringToFront();
}
assky124 2012-12-11
  • 打赏
  • 举报
回复
先Add再BringToFront();
Netcean 2012-12-11
  • 打赏
  • 举报
回复

foreach (DataRow dr in dsHeader.Tables[0].Rows)
                {
                    PictureBox pbx = new PictureBox();
                    Image img = Image.FromFile(Application.StartupPath + "\\images\\" + dr["MenuImg"], false);
                    pbx.BackgroundImage = img;
                    pbx.Name = dr["PowerName"].ToString().ToLower();
                    pbx.Location = new Point(34, 138 + (i * 54));
                    pbx.Width = img.Width;
                    pbx.Height = img.Height;
                    pbx.BringToFront();
this.Controls.Add(pbx);
i++;
}
这是动态生成PictureBox 的代码
本拉灯 2012-12-11
  • 打赏
  • 举报
回复
代码不全看不明白。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧