一、 以lable为例:
在Form中放一个控件,让其在启动和动态改变窗口大小时始终居中
int gLeft = this.Width / 2 - lable1.Width / 2; //this指Form
int gTop = this.Height / 2 - lable1.Height / 2;
lable1.Location = new Point(gLeft, gTop);
二、动态创建控件并找到或者删除控件
1、 以Lable为例创建控件:
Label lbl = new Label();
lbl.Name = "lblNum" + m;
lbl.AutoSize = true;
lbl.BackColor = System.Drawing.Color.Transparent;
lbl.Font = new System.Drawing.Font("宋体", 36F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
lbl.ForeColor = System.Drawing.Color.White;
lbl.Location = new System.Drawing.Point(lable1.Location.X - 150, 29);
lbl.TextAlign = System.Drawing.ContentAlignment.TopCenter;
lbl.Anchor = System.Windows.Forms.AnchorStyles.Top;
// this.Controls.Add(lbl);窗体中添加控件
this.groupBox2.Controls.Add(lbl);//groupBox2中添加控件
2、以Lable为例删除控件:
if (this.groupBox2.Controls.ContainsKey("lable2") == true)
{
this.groupBox2.Controls.RemoveByKey("lable2");
}
3、找到控件并对其赋值
Control[] control = this.Controls.Find("lable1" ,true);
if (control.Length == 1 && control[0] is Label)
{
(control[0] as Label).Text =“hello”;
}