就算 Control.Location属性if(panel1.Controls.Count == 0)
{
for(int i = 0; i < 4; ++i)
{
TextBox tb = new TextBox();
tb.Text = i.ToString();
tb.Width = 100;
tb.Location = new Point(0, 40*(i+1));
tb.Name = i.ToString();
panel1.Controls.Add(tb);
}
}
{
for(int i = 0; i < 4; ++i)
{
TextBox tb = new TextBox();
tb.Text = i.ToString();
tb.Width = 100;
tb.Location = new Point(0, 40*(i+1));
tb.Name = i.ToString();
panel1.Controls.Add(tb);
}
}
再把这个值赋给新的控件就行了。Point ControlLocation = yourControl.Location;newControl.Location = ControlLocation;
如果没有,就随便往上加,然后把Location记下来。
foreach(Control c in panel.Controls)
{
if(c is yourControl)
{
al.Add(c.Location); //Point
}
}这样就可以得到Panel中所有控件的位置。再根据控件的大小(Size),就可以算出来哪些位置是空的。