有没有办法在WinForms表单中居中对齐文本?也称为标题栏标题或标题栏文字?到目前为止,我能看到的唯一方法是用空格填充字符串。我正在使用Form.Text属性设置标题栏标题。
我应该补充一点,我使用的是第三方功能区表单,因此该应用程序看起来像Microsoft Office 2007应用程序。这些应用程序居中对齐文本,大概是因为当文本左对齐时,它会被添加到左上角的混乱按钮中并且看起来很糟糕。
答案 0 :(得分:2)
老实说 - 不要。 Windows用户希望某些事情以某种方式发挥作用,而这不符合标准做法。更不用说任务栏中的按钮将不再显示标题栏文本,因为它将被推到右侧。
您可以完全接管表单的非客户区域,在这种情况下,您可以执行您喜欢的操作。即使你这样做了,我对你的设计的建议是左上角的标题,右上角的关闭按钮等等。
答案 1 :(得分:2)
对于任何有兴趣的人,我使用的是Syncfusion Essential Tools。解决方案是:
this.ribbonToolbar.TitleAlignment = Syncfusion.Windows.Forms.Tools.TextAlignment.Center;
标题对齐是功能区工具栏的属性,而不是RibbonForm的属性,这解释了我之前没有找到它的原因。感谢所有回复的人。
答案 2 :(得分:1)
标题栏由系统呈现,没有选项可以使文本居中。
为了有效地居中,您需要自己绘制标题栏 - 这可以通过处理WM_NCPAINT消息在本机代码中完成,但不确定如何在.NET中轻松完成。
但你为什么要改变? Windows UX标准使文本保持对齐。
答案 3 :(得分:0)
我不相信你能。
您可以隐藏标题栏,并将其替换为用户控件并实现标题栏所具有的相同功能,但我认为这不是一个好主意。
用户的一致性可能比您想要将文本居中的原因更重要。