1

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

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

4

4 回答 4

2

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

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

于 2009-06-17T21:32:43.830 回答
2

对于任何感兴趣的人,我正在使用 Syncfusion Essential Tools。解决方案是这样的:

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

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

于 2009-06-18T17:54:31.820 回答
1

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

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

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

于 2009-06-17T21:32:59.183 回答
0

我不相信你可以。

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

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

于 2009-06-17T21:34:37.183 回答