我有一个视图(userControl),我正在覆盖它的OnLoad和OnLayout方法。关闭视图时,将执行OnLayout方法,并且对base.OnLayout(e)的调用将触发OnLoad方法。
导致OnLoad被调用的原因是什么?我该如何避免这种行为? 问候。
答案 0 :(得分:2)
再次调用OnLoad,因为base.OnLayout()使用将重新创建窗口的属性。那不好,你肯定需要解决这个问题。您需要找出在处理控件时调用OnLayout的原因。在OnLayout覆盖上设置断点并检出调用堆栈。如果您无法理解,请将其发布在您的问题中。
答案 1 :(得分:0)
Thanx Hans回复,
由于调用dispose,似乎Windows窗体布局在控件上调用布局。无论如何,作为一个解决方法我周围的呼叫base.OnLayout()与SuspendLayout()和ResumeLayout。
问候。