如何在WinForms中保持一个标签?

WinForms我使用Label显示不同的消息,如成功,失败等

我想把这个标签放在中间的位置。 我想要一个解决scheme,不pipe标签中只有一个单词还是整个句子,它都将保持居中。

LabelAutoSize属性设置为False ,将TextAlign属性设置为MiddleCenter ,将Dock属性设置为Fill

一些小的附加内容以编程方式设置:

 Label textLabel = new Label() { AutoSize = false, TextAlign = ContentAlignment.MiddleCenter, Dock = DockStyle.None, Left = 10, Width = myDialog.Width - 10 }; 

Dockstyle和内容alignment可能不同于您的需求。 例如,对于wpf表单上的简单标签,我使用DockStyle.None。

您将通过设置属性Anchor:None来实现它。

如果您不想在整个可用区域停靠标签,只需设置SizeChanged事件而不是TextChanged。 autosize属性设置为True时,更改每个字母将更改label的宽度属性以及其文本。 所以,顺便说一句,你可以使用任何公式来保持标签的forms为中心。

 private void lblReport_SizeChanged(object sender, EventArgs e) { lblReport.Left = (this.ClientSize.Width - lblReport.Size.Width) / 2; }