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