タブが選択されたことを知るには、TabControl の SelectionChanged イベントを使用します。
また「どのタブが選択されたのか」を知るには、TabControl のSlectedIndex プロパティを使用して、選択されたタブのインデックスを取得します。
下記は、タブが選択されたことを知る例です。
タブが選択されると、「○番目のタブが選択されました」というメッセージを表示します。
XAMLの例
<StackPanel> <TabControl Name="TabControl1" Height="235"> <TabItem Header="TabItem1" Name="TabItem1"> <Grid /> </TabItem> <TabItem Header="TabItem2" Name="TabItem2"> <Grid /> </TabItem> <TabItem Header="TabItem3" Name="TabItem3"> <Grid /> </TabItem> </TabControl> <TextBlock Name="TextBlock1" /> </StackPanel>
VBの例
'初期化処理 'イベントハンドラーの追加 Private Sub Window_Initialized(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Initialized 'タブが選択されたことを知るイベントハンドラーの追加 AddHandler TabControl1.SelectionChanged, AddressOf TabControl1_SelectionChanged End Sub ' 選択されたタブの情報を表示する Private Sub TabControl1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs) '選択されたタブの番号を取得 Dim selectedIndex As Integer = TabControl1.SelectedIndex + 1 '選択されたタブの情報を表示 TextBlock1.Text = selectedIndex.ToString() + "番目のタブが選択されました" End Sub
C#の例
public Window6() { InitializeComponent(); // タブが選択されたことを知るイベントハンドラーの追加 tabControl1.SelectionChanged += new SelectionChangedEventHandler(tabControl1_SelectionChanged); } /// 選択されたタブの情報を表示する private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e) { // 選択されタブの番号を取得 int selectedIndex = tabControl1.SelectedIndex + 1; // 選択された他部の情報を表示 textBlock1.Text = selectedIndex.ToString() + "番目のタブが選択されました"; }