日期:2014-05-18  浏览次数:20797 次

动态控件位置问题
工具:DOTNET2005
语言:C#
要求:比如我有一个panel 还有一个button
我希望点一个Button 就往panel上加一个label
但是如果我不设置label的位置,所有的Label就都叠在一起了

最好麻烦你写出来,在此先谢了!

------解决方案--------------------
private void button1_Click(object sender, System.EventArgs e)
{
i++;
Button b = new Button();//创建一个新的按钮
b.Name="b"+i;//这是我用来区别各个按钮的办法
System.Drawing.Point p = new Point(12,13+i*30);//创建一个坐标,用来给新的按钮定位
b.Location = p;//把按钮的位置与刚创建的坐标绑定在一起
 
panel1.Controls.Add(b);//向panel中添加此按钮

}


可以参考:http://blog.54master.com/index.php/586951/viewspace-19757
------解决方案--------------------
顶楼主你一下。
我知道这边高手很多,但有时也缺少一些收集
http://qzshi.com
网站建设技术论坛
我希望上面的可以给大家提供一些有用的东西

------解决方案--------------------
int i=0;
int j=0;
private void button1_Click(object sender, System.EventArgs e) 

i++; 
Label b = new Lable();//创建一个新的label 
b.Name="label "+Convert.ToString(i);//这是我用来区别各个label的办法 
System.Drawing.Point p;
if((13+i*30)<panel.Height&&(12+ j*60)<panel.Width)
{
p = new Point(12+ j*60,13+i*30);//创建一个坐标,用来给新的按钮定位 
}
else
{
i=1;
j++;
p = new Point(12+ j*60,13+i*30);//创建一个坐标,用来给新一列的按钮定位
}
b.Location = p;//把按钮的位置与刚创建的坐标绑定在一起 

panel1.Controls.Add(b);//向panel中添加此按钮 
 } 

函数没有test过,麻烦自己test下,如果有必要,相信随便改下就能实现你需要的功能