【问题标题】:Center title bar caption of Syncfusion WinForms ribbon form?Syncfusion WinForms功能区表单的中心标题栏标题?
【发布时间】:2009-06-17 21:30:15
【问题描述】:

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

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

【问题讨论】:

  • 如果有人用枪指着我的头,我真的只会这样做。它会让你的软件看起来很成熟
  • 添加了有关我为什么要这样做的详细信息。我同意这对于普通的 WinForms 窗口没有意义。

标签: winforms titlebar


【解决方案1】:

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

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

【讨论】:

  • 使用功能区栏,用户希望文本居中,我正在使用功能区栏。对不起,我之前把它漏掉了;我认为这与问题无关。
  • Ribbon bar custom 绘制了标题栏——你可以看出来,因为按钮被添加到了标题中。
  • 好点。回想起来,这是一个更好地向第 3 方提供商提出的问题。我正在和他们核实。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    标题栏是系统渲染的,没有文字居中选项。

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

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

    【讨论】:

      【解决方案4】:

      我不相信你可以。

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

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

      【讨论】:

      • 其实,一致性是我想做的原因。请参阅更新的问题。谢谢你的建议。希望我能找到比这更容易的东西!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2021-01-16
      • 1970-01-01
      相关资源
      最近更新 更多