首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

winforn循环动态添加后面的不显示,该怎么处理

2014-04-23 
winforn循环动态添加后面的不显示在panel中动态添加数据,结果后面的不显示panel1.Controls.Clear()for (i

winforn循环动态添加后面的不显示
在panel中动态添加数据,结果后面的不显示
panel1.Controls.Clear();
            for (int i = 0; i < 5; i++)
            {
                Panel pan = new Panel();
                pan.Name = "pan" + i.ToString();
                Point point = new Point(panel1.Location.X, panel1.Location.Y + (i * 61));
                pan.Dock = System.Windows.Forms.DockStyle.None;
                pan.Size = new Size(225,60);
                pan.Location = point;
                pan.BackColor = GetRandomColor();
                panel1.Controls.Add(pan);
                Label lab = new Label();
                lab.Dock = System.Windows.Forms.DockStyle.None;
                lab.Size = new Size(100, 20);
                lab.Text = "23232323233";
                lab.Location = new Point(point.X , point.Y + 5);
                pan.Controls.Add(lab);
                //panel1.Controls.Add(lab);
                Label date = new Label();
                date.Dock = System.Windows.Forms.DockStyle.None;
                date.Text = "2013-01-22";
                date.Location = new Point(point.X + 120, point.Y  );
                date.Size = new Size(70, 20);
                date.Visible = true;
                pan.Controls.Add(date);
                //panel1.Controls.Add(date);
                Label state = new Label();
                state.Name = "state" + i.ToString();
                state.Dock = System.Windows.Forms.DockStyle.None;
                state.Text = "   未完成"+i.ToString();
                state.Location = new Point(point.X + 120, point.Y + 20);
                state.Size = new Size(70, 20);
                //panel1.Controls.Add(state);
                pan.Controls.Add(state);
                LinkLabel temp = new LinkLabel();
                temp.Name = "hiddenID" + i.ToString();
                temp.Text = i.ToString();
                temp.Visible = false;
                
                pan.Controls.Add(temp);
                //pan.Visible = true;
                pan.Click+= new EventHandler(pan_Click);
                //pan.Refresh();


                
            }
结果如下图winforn循环动态添加后面的不显示,该怎么处理
[解决办法]
   Point point = new Point(panel1.Location.X, panel1.Location.Y + (i * 61));
这个相对于窗体位置
你后面添加的控件在panel1里,所以位置要重新设置,不能跟这个point变量走
[解决办法]
date.Location = new Point(point.X + 120, point.Y  );
=>
date.Location = new Point(point.X + 120, 固定值  );
别的类似

热点排行