OnLoad вызывается при вызове base.Onload (e) в методе Onload - PullRequest
1 голос
/ 24 мая 2010

У меня есть представление (userControl), и я переопределяю его методы OnLoad и OnLayout. Когда представление закрыто, выполняется метод OnLayout, и вызов base.OnLayout (e) запускает метод OnLoad.

Что вызывает вызов OnLoad и как я могу избежать этого поведения? С уважением.

Ответы [ 2 ]

2 голосов
/ 24 мая 2010

OnLoad вызывается снова, потому что base.OnLayout () использует свойства, которые воссоздают окно.Это не хорошо, вам обязательно нужно это исправить.Вам нужно выяснить, почему вызывается OnLayout при удалении элемента управления.Установите точку останова в переопределении OnLayout и проверьте стек вызовов.Напишите это в своем вопросе, если вы не можете понять это.

0 голосов
/ 25 мая 2010

Спасибо за ваш ответ,

Кажется, что макет Windows Forms вызывает макет на элементах управления из-за удаления вызова.во всяком случае, как обходной путь, я окружаю базу вызовов. OnLayout () с SuspendLayout () и ResumeLayout.

С уважением.

...