Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:将标签固定在面板的中间底部,并使其在运行时随内容增长。 我需要一个标签出现在中间的底部(比如底部的30px),也可以根据文本的长度自动调整文本的大小。p>_C#_Winforms_Controls_Docking - Fatal编程技术网

C#:将标签固定在面板的中间底部,并使其在运行时随内容增长。 我需要一个标签出现在中间的底部(比如底部的30px),也可以根据文本的长度自动调整文本的大小。p>

C#:将标签固定在面板的中间底部,并使其在运行时随内容增长。 我需要一个标签出现在中间的底部(比如底部的30px),也可以根据文本的长度自动调整文本的大小。p>,c#,winforms,controls,docking,C#,Winforms,Controls,Docking,到目前为止,我只能有标签自动大小包装文本,并有它停靠在底部。但它在左下角,而不是中间。 如本例所示,以及 (对不起,文本不清楚,但底部为白色) 我能够使用ClientSizeChanged事件实现自动大小,如下所示 private void Panel1_ClientSizeChanged(object sender, EventArgs e) { label8.MaximumSize = new Size((sender as Control).ClientSize.W

到目前为止,我只能有标签自动大小包装文本,并有它停靠在底部。但它在左下角,而不是中间。 如本例所示,以及 (对不起,文本不清楚,但底部为白色)

我能够使用ClientSizeChanged事件实现自动大小,如下所示

private void Panel1_ClientSizeChanged(object sender, EventArgs e)
    {
        label8.MaximumSize = new Size((sender as Control).ClientSize.Width - label8.Left, 10000);
    }
我怎样把课文放在中间?当我调整面板大小时,它应该能够保持底部中间(停靠)位置。

尝试以下操作:

向面板添加具有以下属性的TableLayoutPanel:

tableLayoutPanel1.AutoSize = true; // This can be set at the end if you use designer
tableLayoutPanel1.ColumnCount = 1;
tableLayoutPanel1.RowCount = 1;
tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Bottom;
panel1.Controls.Add(tableLayoutPanel1); // add TableLayoutPanel to your panel
tableLayoutPanel1.Controls.Add(label1, 0, 0); // Add your label to TableLayout
并在标签上设置属性:

label1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
label1.AutoSize = true;
label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
现在你可以设置

tableLayoutPanel1.AutoSize = true;

这有点棘手,但应该能满足您的需要。

您不能使用Dock=Bottom和TextAlign=MiddleCenter/BottomCenter吗?@PablonotPicasso如果autosize属性设置为true,我需要启用autosize,则它不起作用。