2011-09-12 25 views
0

私はTabControlでフォームを持っています。C#:TabControlタブを名前で追加する

​​

TabPageは、私が持っているタブページの1つの名前である:私は実行してタブを追加することができます。

私はTabPageがStringオブジェクトである

TabControl.TabPages.Add("TabPage")

をやりたいです。

どうすればこの問題を解決できますか?

+1

..私はそれが役に立てば幸い

..あなたは、あなたが、テキストに名前を変更することができます...すべてのタブが表示されます行なわ1 & 2一度、なぜあなたがそれを行うことができませんか? http://msdn.microsoft.com/en-us/library/btz4twwd.aspx –

+0

空のタブが追加されているため、コントロールが1つもありません。 – pyro

答えて

1

Pardon?あなたはそうしない。 TabControlは、TabPageオブジェクトのコレクションです。あなたはそれを参照するために使用することができる名前をTabPage与えることができます。

あなたはタブページを選択するか、削除したいのであれば、あなたはこのような何かを行うことができます(私のアプリから変更厄介なコードを言い訳してください、私はそれを簡単にするために、メモ帳、リファクタリングを持っていた):

private void ConfigureTabs() 
{ 
    var config = GetConfig(); 

    foreach (TabPage tabPage in tabControl.TabPages) 
    { 
     if (config.IsTabVisible(tabPage.Name) == false) 
     { 
      tabControl.TabPages.Remove(tabPage); 
     } 
    } 

    if (tabControl.TabPages.ContainsKey(config.DefaultTabName)) 
    { 
     tabControl.SelectTab(config.DefaultTabName); 
    } 
} 
+0

私は明確にしようとします - 私はtabPage1、tabPage2、tabPage3という名前の3つのTabPageオブジェクトを言うと、TabControlを持っています。そのうちの1つを私のtabcontrolに追加したいのであれば、TabControl1.TabPages.Add(tabPage1)を使ってそれを行うことができます。どうすればこのtabPage1オブジェクトを追加することができますか?文字列変数の名前(魔法使いが "tabPage1")を名前といいますか? – pyro

0

TabControlのプロパティに移動し、TabPagesに移動します。(コレクション)をクリックします。これで、TEXTフィールドのタブの名前を編集できます。

0

追加するタブがコントロール階層にない場合、それは不可能です。ただし、タブがフォームの他の場所にある場合は、指定したTabPageを見つけてTabControlのTabCollectionに追加するExtension Methodを記述することができます。このような何か:

public void AddEx(this TabCollection tabs, string name) 
{ 
    var myTabPage = MyFindTabPageMethod(name); 
    tabs.Add(myTabPage);  
} 

そうのTabPageが他のTabCollection内に位置している、あなたはその後、上記の動作するはずどこかにそれを「移動」したい場合。

今、あなたが行うことができます:

TabControl.TabPages.AddEx("TabPage"); 
1

ステップ

1-(右側に)プロパティウィンドウで全体タブコントロール 2-選択 - >タブページ - >をクリックしてオン(...)。 、3- よろしく

関連する問題