TableLayoutPanel居中和单元格内元素居中

时间:2022-01-23 13:48:44

在后台程序新建一个TableLayoutPanel 添加到form中,默认显示在左上角,想了很多让它居中的办法,在网上找了不少 最好的是:

winform要设置控件的位置有3种:

1.控件的anchor属性属性,,瞄定。。。。你可以理解绑定在某个方向

2.dock属性属性停靠。。。center值就是中间了

3.设置控件的Loction属性,,该属性是设置控件相对窗体左上角的位置。。

不过对它说的第二种方法dock里哪里有center啊,估计它说的是fill(填充),最后我用的是第三种方法:

TableLayoutPanel tlpPrmControls = new TableLayoutPanel();//容器
tlpPrmControls.Location = new System.Drawing.Point((this.Width - tlpPrmControls.Width) / , (this.Height - tlpPrmControls.Height - ) / ); //设置表格居中

point的方法有两个参数,分别是X,Y。是相对左上角的位置的距离,我对它进行了计算,宽(X)=(将窗体的宽度-TableLayoutPanel的宽度)/2,高度同样计算。

内部元素居中举一个例子比如一个lable

Label lab = new Label();
lab.Text = "Label_" + i;
lab.AutoSize = true;
//通过Anchor 设置Label 列中居中
lab.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
tableLayoutPanel4.Controls.Add(lab);