【问题标题】:Different design time/Runtime WinForms control behaviour不同的设计时/运行时 WinForms 控制行为
【发布时间】:2012-02-21 22:33:30
【问题描述】:

我正在构建一个使用一些内置控件和一些 3rd 方控件 (DevExpress) 的应用程序。

在设计器内部,一切看起来都不错,但是在运行应用程序时,一些控件放置错误。

有没有简单的方法来调试这个问题?

更具体地说,我有一个包含 2 个控件的容器。 这些控件应该一个接一个地很好地堆叠在一起(实际上在设计器中看起来就是这样)。

在运行应用程序时,一个控件显示在另一个控件之上,阻止它(见附图)。

另一个奇怪的事情是,重叠的 2 个控件的某些属性没有更新它们的视觉状态。

这意味着控件的位置为 (0, 300),但实际上似乎位于 (0, 0) 中。

【问题讨论】:

  • DevExpress 错误?可以出示一下代码吗?
  • 右键单击 IDE 中的控件并重置顺序,WinForms 控件将按照它们在 Code Behind 文件中的启动顺序呈现,除非设置了特定顺序。
  • 反而是非常奇怪的行为。 DevExpress 是一家成熟的组件供应商。这么大的错误很难逃脱他们的质量控制。有时罪魁祸首更简单。锚属性?从另一个表单复制/粘贴?
  • 你是如何在表单上创建控件的。直到现在我还没有看到这样的行为。把你的代码写得怪怪的。
  • 这不是 DevExpress 中的错误,可能是我不知道的其他一些奇怪的事情

标签: c# .net winforms visual-studio


【解决方案1】:

作为一种解决方法,您可以将两个控件放在SplitContainer 的两个面板中,然后将它们停靠(填充)在那里。这还有一个好处是用户可以调整控件的大小。

另一种选择是TableLayoutPanel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多