2017-12-09 9 views
0

私は動的にタブを作成していますが、私はそれをやってみましたが、タブがすでに存在するかどうかをチェックしてチェックします。tabControlにタブが存在するかチェックする#

 private void fourBtn_Click(object sender, EventArgs e) 
    { 
     string theName = "Level4"; 
     TabPage tp = new TabPage(theName); 
     if (!tp.Name.Equals(theName)) { 




      tp.Name = theName; 
      tabControl1.TabPages.Add(tp); 

      TextBox tb = new TextBox(); 
      tb.Dock = DockStyle.Fill; 
      tb.Multiline = true; 
      tp.Controls.Add(tb); 
     } 
    } 

答えて

0

あなたはのTabPageが同じ名前で存在するかどうかを確認するために次の操作を行うことができます...あなたは現在、あなたが名前を持つ新しいのTabPageを作成し、かどうかを確認何

tabControl1.TabPages.Contains(tabPage) 

その名前に文字通り与えられているので、そのタブ名は同じ名前ではなく、いつもtrueと評価されます。

private void fourBtn_Click(object sender, EventArgs e) { 
string theName = "Level4"; 
TabPage tp = new TabPage(theName); 
if (!tabControl1.TabPages.Contains(tabPage2)) { 

    tp.Name = theName; 
    tabControl1.TabPages.Add(tp); 

    TextBox tb = new TextBox(); 
    tb.Dock = DockStyle.Fill; 
    tb.Multiline = true; 
    tp.Controls.Add(tb); 
} 
} 

ご希望の場合は、あなたもループを作成することができます。

foreach(TabPage tab in tabControl1.TabPages){ 
    if(tab.Name == tabName) 
     return true; 
} 
+0

Iv'eがf(!tabControl1.TabPages.Contains(tabPage2))を使用してみましたが、それはtabPage2はない名前を思い付きます現在のコンテキストに存在しません –

+0

コンテキストには存在しません... 'tabPage2'を' tp'に変更してください。 – Adriani6

+0

私はそれでもプログラムが同じタブを追加し続けることができます –

関連する問題