有没有办法在WinForms表单中居中对齐文本?也称为标题栏标题或标题栏文字?到目前为止,我能看到的唯一方法是用空格填充字符串。我正在使用Form.Text属性设置标题栏标题。

我应该补充一点,我使用的是第三方功能区表单,因此该应用程序看起来像Microsoft Office 2007应用程序。这些应用程序居中对齐文本,大概是因为当文本左对齐时,它会被添加到左上角的混乱按钮中并且看起来很糟糕。

有帮助吗?

解决方案 2

对于任何有兴趣的人,我使用的是Syncfusion Essential Tools。解决方案是:

this.ribbonToolbar.TitleAlignment = Syncfusion.Windows.Forms.Tools.TextAlignment.Center;

标题对齐是功能区工具栏的属性,而不是RibbonForm的属性,这解释了我之前没有找到它的原因。感谢所有回复的人。

其他提示

老实说 - 不要。 Windows用户希望某些事情以某种方式发挥作用,而这不符合标准做法。更不用说任务栏中的按钮将不再显示标题栏文本,因为它将被推到右侧。

您可以完全接管表单的非客户区域,在这种情况下,您可以执行您喜欢的操作。即使你这样做了,我对你的设计的建议是左上角的标题,右上角的关闭按钮等等。

标题栏由系统呈现,没有选项可以使文本居中。

为了有效地居中,您需要自己绘制标题栏 - 这可以通过处理WM_NCPAINT消息在本机代码中完成,但不确定如何在.NET中轻松完成。

但你为什么要改变? Windows UX标准使文本保持对齐。

我不相信你能。

您可以隐藏标题栏,并将其替换为用户控件并实现标题栏所具有的相同功能,但我认为这不是一个好主意。

用户的一致性可能比您想要将文本居中的原因更重要。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top