MDI のぎこちなさから逃れるために、子コントロールを含むタブ コントロールを持つ単一のフォームにリファクタリングしたい子フォームを持つ MDI フォームがあります。
FormClosing
子フォームを子コントロール (またはユーザー コントロール) に変換すると、一部の子フォームが使用するイベントが失われることがわかります。
一部の機能を処理するためにオーバーライドできますDispose
が、場合によっては終了イベントをキャンセルしたいことがあります。また、フォームが閉じていない場合でも、コントロールが閉じられる前にこのイベントが呼び出されるようにしたいので、コントロールをフォームの閉じるイベントに配線することはオプションではありません。
コントロール クラスでイベントを再現するきれいな方法はありますFormClosing
か、それとも子フォームをタブ コントロールに追加するときにフォームとして保持する必要がありますか?
編集: もう少し明確にするControlClosing
ために、変更を保存したい場合にユーザーにプロンプトを表示するために、ユーザー コントロールが閉じられる前に (必ずしもホスト フォームが閉じられるとは限りません)、ユーザー コントロールのようなものを上げる方法を探しています。ユーザーが標準のはい/いいえ/キャンセルを選択できるようにします。
コントロールをホストするフォームを閉じることをオーバーライドするつもりはありません。