【问题标题】:Winforms label fine in designer, cut off when runningWinforms标签在设计器中很好,运行时被切断
【发布时间】:2015-03-24 22:06:50
【问题描述】:

我正在使用 Winforms 编写应用程序。我的设计视图中有一个看起来不错的标签

但是当我运行程序时,标签在右侧被切断了

我将标签设置为 AutoSize,您知道为什么会发生这种情况以及如何解决吗?

【问题讨论】:

  • 您是否更改代码中的标签?或者在某处将 AutoSize 设置为 false?上面有面板吗?也许锚定所以它看起来与设计师不同?调整大小时会发生什么?
  • 标签的 text 和 AutoSize 属性只在设计器中设置。它旁边唯一的其他控件是它下面的文本框,但删除文本框并没有帮助。它的锚点设置是默认设置(顶部,左侧)。如果我关闭 AutoSize 并加宽标签,那么它会修复文本,但出于翻译目的,我宁愿让它自动调整大小。我假设我的系统字体比设计器中的字体大,尽管有人会认为 AutoSizing 会发生在运行时,而不是设计时。
  • 请确保您可以将字体更改为系统字体并查看标签的外观。 WinForms 不像 WPF 或其他一些 UI 开发工具那样敏捷
  • 能不能打开它的Border,看看标签或者文字是否受影响?
  • 我不得不继续这个项目。我发现的解决方法是关闭 AutoSize,然后给标签留出足够的空间。最后,对我来说,这似乎是一个 Microsoft 错误。

标签: c# winforms


【解决方案1】:

将“锚点”设置修改为仅锚定到左侧右侧,而不是左侧右侧。

当标签左右锚定时,如果外部容器因任何原因重新调整大小(例如,单击并拖动窗口边框,或在代码中调整大小),标签最终会被截断一些使用 AutoSize 的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2017-02-19
    • 2012-12-05
    • 1970-01-01
    • 2018-08-06
    • 2018-09-01
    相关资源
    最近更新 更多