2011-12-28 17 views
46

タブコントロール内の特定のタブページがアクティブかどうかを確認するイベントを作成しています。特定のタブページが選択されている(アクティブな)か確認する

タブコントロールのタブページが現在選択されているタブの場合、イベントが発生します。私に必要なものを私に与えるコード?あなたはWinフォームで外を見ている、タブ

ためSelectedIndexChangedイベントがあなたの特定のタブをチェックしているかどうかを確認するには、ロジック

private void tab1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (tab1.SelectedTab == tab1.TabPages["tabname"])//your specific tabname 
    { 
     // your stuff 
    } 
} 
+1

WPF、Windowsフォームで作業していますか? –

+0

それがあなたの特定のタブをチェックして、あなたの仕事 – V4Vendetta

+1

@Maximをしない理由を 'SelectedIndexChanged'イベントがあります: うん、Windowsフォーム: System.Windows.Forms.TabControlと System.Windows.Forms.TabPages。 –

答えて

71

特定のタブページはタブコントロールの現在選択されているページです。ちょうどタブコントロールのSelectedTabプロパティを使用します。コードは、タブページが選択されている以外のイベント(のSelectedIndexChangedより良い選択であると思われる場合)に基づいて実行されている場合

if (tabControl1.SelectedTab == someTabPage) 
{ 
// Do stuff here... 
} 

これは、より便利です。

たとえば、タイマーを使用してTCP/IP接続で定期的にポーリングを行うアプリケーションがありますが、不要なTCP/IPトラフィックを回避するために、現在選択されているタブページのGUIコントロールを更新するものだけをポーリングします。ネット4で

+0

ありがとう、これは私が探していたものでした。 私が知らないのは、TabPage ["tabname"]のことです。もう一度、ありがとうございました –

+0

同じ方法でタブを選択することもできます: 'tab1.SelectedTab = tab1.TabPages [" tabname "]' – SharpC

17

を進めることができ、それには今そこにあると仮定すると、

3

は、上記が私のために働かない何らかの理由

if (tabControl1.Controls[5] == tabControl1.SelectedTab) 
       MessageBox.Show("Tab 5 Is Selected"); 

OR

if (tabpage5 == tabControl1.SelectedTab) 
     MessageBox.Show("Tab 5 Is Selected"); 
+1

マイナス1:これは何年も前に投稿された回答に何も追加しません。 –

1

を使用することができます。これは何をしたかである:

tabControl.SelectedTab.NameはTabControlの自身のページに割り当てられた名前の属性である
if (tabControl.SelectedTab.Name == "tabName") 
{ 
    .. do stuff 
} 

関連する問題