01.タブを追加する
XAMLでTabControlにタブを追加するには、TabItem要素を使用します。
また、コードからタブを追加するには、TabControlのItemsプロパティが持つAddメソッドでTabItemクラスのインスタンスを指定します。
タブに表示する文字は、TabItemクラスのHeaderプロパティで指定します。
下記は、[追加]ボタンを押すたびにタブを追加する例です。
<StackPanel Height="241"> <StackPanel Orientation="Horizontal"> <Button Name="btnAdd" Content="追加" Width="50" /> </StackPanel> <TabControl Name="TabControl1" Margin="0,3,0,0" Height="210"> <!-- TabControl に TabItem を追加 --> <TabItem Header="TabItem1" Name="TabItem1"> <Grid /> </TabItem> </TabControl> </StackPanel>
' [追加]ボタンクリック時の処理 Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnAdd.Click Dim tab As New TabItem() tabCount += 1 tab.Header = "TabItem-" & tabCount.ToString() '新しいタブアイテムを追加 TabControl1.Items.Add(tab) End Sub
// [追加]ボタンクリック時の処理 private void btnAdd_Click(object sender, RoutedEventArgs e) { TabItem tab = new TabItem(); tabCount += 1; tab.Header = "TabItem-" + tabCount.ToString(); // 新しいタブアイテムを追加 tabControl1 }
タブを追加するにはItemsプロパティのAddメソッドを使用する。
タブに表示する文字はHeaderプロパティに設定する。
02.タブを挿入する
TabControlに既存のタブがある場合、任意の位置にタブを挿入するには、ItemsプロパティのInsertメソッドを使用します。
Insertメソッドの第1引数にはタブの挿入先となるインデックス番号(先頭はインデックス番号=0となります)を、第2引数にはTabItemクラスのインスタンスを指定します。
下記は、[挿入]ボタンをクリックすると、左から数えて2番目の位置(インデックス番号=1)に新しいタブを挿入する例です。
<StackPanel Height="241"> <StackPanel Orientation="Horizontal"> <Button Name="btnInsert" Content="挿入" Width="50" /> </StackPanel> <TabControl Name="TabControl1" Margin="0,3,0,0" Height="210"> <TabItem Header="TabItem1" Name="TabItem1"> <Grid /> </TabItem> <TabItem Header="TabItem2" Name="TabItem2"> <Grid /> </TabItem> <TabItem Header="TabItem3" Name="TabItem3"> <Grid /> </TabItem> </TabControl> </StackPanel>
'[挿入]ボタンクリック時の処理 Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnInsert.Click '新規タブの作成 Dim tab As New TabItem tab.Header = "New Tab" 'タブの挿入 TabControl1.Items.Insert(1, tab) End Sub
// [挿入]ボタンクリック時の処理 private void btnInsert_Click(object sender, RoutedEventArgs e) { // 新規タブの作成 TabItem tab = new TabItem(); tab.Header = "New Tab"; // タブの挿入 tabControl1.Items.Insert(1, tab); }
タブを挿入するにはItemsプロパティのInsertメソッドを使用する。