首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OnLoad方法中调用base.Onload(e)时正在调用Onload

在OnLoad方法中调用base.Onload(e)时正在调用Onload
EN

Stack Overflow用户
提问于 2010-05-25 01:18:00
回答 2查看 453关注 0票数 1

我有一个视图(userControl),并且我覆盖了它的OnLoad和OnLayout方法。当视图关闭时,将执行OnLayout方法,并且对base.OnLayout(e)的调用将触发OnLoad方法。

是什么原因导致OnLoad被调用,我如何避免这种行为?致以问候。

EN

回答 2

Stack Overflow用户

发布于 2010-05-25 02:13:50

再次调用OnLoad是因为base.OnLayout()使用将重新创建窗口的属性。这不太好,你肯定需要解决这个问题。您需要找出在释放控件时调用OnLayout的原因。在OnLayout覆盖上设置断点并检查调用堆栈。如果你不能理解它,就把它放在你的问题里。

票数 2
EN

Stack Overflow用户

发布于 2010-05-25 23:37:58

感谢Hans的回复,

由于调用了dispose,Windows窗体布局似乎正在调用控件上的布局。无论如何,作为一种变通方法,我使用SuspendLayout()和ResumeLayout来围绕base.OnLayout()调用。

致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2898834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档