WindowsForm tabPageコントロールのタブを名前で消す

VisualStudio

本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^

今まで、タブページを消すのに

tabControl1.TabPages.RemoveAt(2);

こんな感じで消してました。すっごく不便。何番目に来るtabPageを消すという処理なので、その前のタブページが消えてると順番が変わってしまうというやっかいな代物。昔調べた時には名前で消す方法ないなぁと思っていたら、

今回は簡単に見つかりました。

tabControl1.TabPages.RemoveByKey("tabPage1");

なんで昔は見つからなかったんだろう。見落として見つからなかったのか、やったけどたまたまうまくいかなくてできないと思い込んだのか謎です。名前指定でタブページを消せるのはめっちゃ楽ちん。ぜひこちらを使ってください。

参考

選択されtabPageがどれなのか今まではSelectedIndexで調べてました。

tabControl.SelectedIndex

この方法だと、何番目のページが選択されたのかintで分かります。ただ、tabPageを消した後だと、SelectedIndexで返ってくるintページも変わってしまい、これを判別するためにはどのページ(何番目のページ)を消したかを記録しておかないと、特定のtabPageがクリックされたかどうか判定するのが難しくなります。

((TabControl)sender).SelectedTab.Text

こうすると、tabPageのTextが取得できるので、このテキストからどのタブページが選択されたのか判定する事ができるようになります。

タイトルとURLをコピーしました