タブを削除する

スポンサーリンク

タブを削除するにはいくつかの方法があります。

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();
}
タイトルとURLをコピーしました