【问题标题】:Load event being raised on ResumeLayout(false) when using Infragistic styles使用 Infragistic 样式时在 ResumeLayout(false) 上引发加载事件
【发布时间】:2010-12-22 14:11:07
【问题描述】:

我在使用 Infragistics 样式时遇到问题,该问题与提前引发的 Load 事件有关。

一些上下文:

  • 我有一个由 UserControl 表示的视图
  • 当我想显示此用户控件时,我会创建一个新实例并将其添加到具有一些与问题无关的额外行为的“主机”表单中。

如果我不使用样式,则在显示表单时会正常引发 Load 事件,这是我所期望的,但如果我使用 StyleManager.Load 方法并加载样式,那么 Load 事件在我的一个面板中执行 ResumeLayout(false) 时会引发 UserControl,这发生在构造函数中的 InitializeComponents 方法中。

这是预期的行为吗?有没有人遇到过同样的问题?


编辑: 这似乎只发生在 Office2007 风格中,如果我使用 Office2010 一切正常

谢谢

【问题讨论】:

    标签: winforms load infragistics styling


    【解决方案1】:

    非常典型的基础设施损失。当构造函数执行要求 Handle 属性有效的任何代码时,通常会发生这种情况。这会导致 CreateHandle 方法运行,进而触发 Load 事件。您没有发布堆栈跟踪,因此无法查看导致这种情况发生的代码类型。我不怀疑这是 Infragistics 代码。获取他们的最新更新,如果您需要他们的支持,请发布到他们的支持论坛。并尝试将代码从 Load 事件处理程序移动到构造函数,如果您有需要知道表单大小的代码,则只需要 Load。

    【讨论】:

    • 我会将 Load 事件中的代码移动到表单的其他部分,因为我本身不需要在那里..
    猜你喜欢
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2014-02-06
    • 2012-07-07
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多