タブを削除するにはいくつかの方法があります。
1. タブを直接指定して削除する
タブを直接指定して削除を行う場合には Items プロパティ の Remove メソッドを使用します。
引数には、削除したいタブのインスタンスを指定します。
2. インデックスを指定して削除する
インデックスを指定して削除を行う場合には Items プロパティ の RemoveAt メソッドを使用します。
引数には削除するタブのインデックス番号(先頭のタブから0,1,2と数える)を指定します。
3. すべてのタブを削除する
すべてのタブを削除する場合には Items プロパティ の Clear メソッドを使用します。
下記は、上記のメソッドを使用してタブを削除する例です。
XAMLの例
<StackPanel Height="241"> <StackPanel Orientation="Horizontal"> <Button Name="btnLastTabDel" Content="最後のタブを削除する" Width="144" /> <Button Name="btnTabItem2Del" Content="TabItem2を削除" Height="23" Width="115" /> <Button Name="btnAllTabDel" Content="全タブを削除" Height="23" Width="89" /> </StackPanel> <TabControl Name="TabControl1" Margin="0,3,0,0" Height="140"> <TabItem Header="TabItem1" Name="TabItem1"> <Grid /> </TabItem> <TabItem Header="TabItem2" Name="TabItem2"> <Grid /> </TabItem> <TabItem Header="TabItem3" Name="TabItem3"> <Grid /> </TabItem> <TabItem Header="TabItem4" Name="TabItem4"> <Grid /> </TabItem> <TabItem Header="TabItem5" Name="TabItem5"> <Grid /> </TabItem> </TabControl> </StackPanel>
VBの例
' [最後のタブを削除する]ボタンクリック時の処理 Private Sub btnLastTabDel_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnLastTabDel.Click '最後のタブのインデックスを取得 Dim lastIndex As Integer = TabControl1.Items.Count - 1 If lastIndex = -1 Then Return '最後のタブを削除 TabControl1.Items.RemoveAt(lastIndex) End Sub ' [TabItem2を削除]ボタンクリック時の処理 Private Sub btnTabItem2Del_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnTabItem2Del.Click 'TabItem2を削除 TabControl1.Items.Remove(TabItem2) End Sub ' [全タブを削除]ボタンクリック時の処理 Private Sub btnAllTabDel_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnAllTabDel.Click '全タブを削除 TabControl1.Items.Clear() End Sub
C#の例
// [最後のタブを削除する]ボタンクリック時の処理 private void btnLastTabDel_Click(object sender, RoutedEventArgs e) { // 最後のタブのインデックスを取得 int lastIndex = tabControl1.Items.Count - 1; if (lastIndex == -1) return; // 最後のタブを削除 tabControl1.Items.RemoveAt(lastIndex); } // [TabItem2を削除]ボタンクリック時の処理 private void btnTabItem2Del_Click(object sender, RoutedEventArgs e) { // TabItem2 を削除 tabControl1.Items.Remove(tabItem2); } // [全タブを削除]ボタンクリック時の処理 private void btnAllTabDel_Click(object sender, RoutedEventArgs e) { // 全タブを削除 tabControl1.Items.Clear(); }