ビュー (userControl) があり、その OnLoad および OnLayout メソッドをオーバーライドしています。ビューが閉じられると、OnLayout メソッドが実行され、base.OnLayout(e) への呼び出しが OnLoad メソッドを起動します。
OnLoad が呼び出される原因と、この動作を回避するにはどうすればよいですか? よろしく。
base.OnLayout() はウィンドウを再作成するプロパティを使用するため、OnLoad が再度呼び出されます。それは良くありません。間違いなく修正する必要があります。コントロールが破棄されるときに OnLayout が呼び出される理由を調べる必要があります。OnLayout オーバーライドにブレークポイントを設定し、コール スタックを確認します。意味がわからない場合は、質問に投稿してください。
Hans さん、返信ありがとうございます。
Dispose が呼び出されたため、Windows フォームのレイアウトがコントロールのレイアウトを呼び出しているようです。とにかく、回避策として、呼び出し base.OnLayout() を SuspendLayout() と ResumeLayout で囲んでいます。
よろしく。