使用Infragistic样式时,在ResumeLayout(false)上引发加载事件

时间:2010-12-22 14:11:07

标签: winforms load infragistics styling

使用Infragistics样式时遇到问题,问题与过早引发的Load事件有关。

某些背景信息:

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

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

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


修改: 这似乎只发生在Office2007风格上,如果我使用Office2010一切正常

由于

1 个答案:

答案 0 :(得分:0)

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