WinFormsTabControlの選択解除イベントでタブの変更を処理しています。ただし、切り替える前にクリックしたタブを削除する場合があります。
シナリオ
タブ1とタブ2があります。現在タブ1にいます。タブ2をクリックします。タブ1イベントの選択を解除すると、タブコレクションからタブ2が削除されます。存在しないタブに移動しようとしているため、OnPaintでクラッシュします。(ArgumentOutOfRangeException)。選択イベントに到達する前にクラッシュします。
選択を解除したときにタブ数が変更されたかどうかを確認したくありません。これは、移動するタブが存在しなくなった場合にのみキャンセルしたいためです。
どんな助けでも大歓迎です。
private void TabControl_Deselecting( object sender, TabControlCancelEventArgs ) {
DoSomeWork();
}
DoSomeWorkがクリックしたタブを削除するとします。移動しようとしていたタブが削除されたかどうかを確認するにはどうすればよいですか?