2016-04-07 20 views
0

tabcontrolユーザーコントロールを作成しました。私はすでにボタンが含まれているフォーム(test.csを呼び出した)にインポートしました。 ユーザコントロール(tabcontrol、ここではcustomtabcontrol)にプロパティを追加して、そのusercontrolが存在するウィンドウフォーム(test.cs)のボタンをクリックするたびに、 はそのusercontrol tabcontrolにタブページを追加する必要があります。ユーザーコントロールtabcontrolを含むフォームのボタンクリック時にタブページを作成する方法

ユーザーコントロールのための私のコードは次のとおりです。

namespace TestWizard 
{ 
    public partial class test : Form 
    { 
     public test() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      customtabcontrol tb = new customtabcontrol(); 
      TabPage tp = new TabPage("New Tab"); 
      tp.Controls.Add(new Label() { Text = "testing by shekhar" }); 
      tb.TabPages.Add(tp); //this line will obviously give the error as tb cannot add tabpage , but how to add on it ? 

     } 
    } 
} 

とそのビューは次のとおりです:http://prntscr.com/ap9rj2

ここ

namespace TestWizard 
{ 
    public partial class customtabcontrol : UserControl 
    { 
     public customtabcontrol() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

は、ユーザーコントロールのビューには、私のテストフォームがあるhttp://prntscr.com/ap9qi7

ですどのように私のusercontrolにtest.csフォームボタンでタブページを追加するをクリックしますか? このボタンは、ユーザーコントロールのTabPagesコレクションプロパティを追加すること

+1

それは全く明らかではないが。代わりにTabControlから派生した方がずっと簡単です。それがUCでなければならない場合は、TabControlを公開するプロパティを追加する必要があります。または、TabPageを追加するメソッド。 –

+0

私は何を達成したいのか分からなかった。私はタブコントロールを含んでいるユーザーコントロールを持っていますよね?プログラムをビルドし、ボタンを含む別のフォームを追加します。次に、私はそのusercontrol(実際にはtabcontrol)をインポートし、test.csフォームを置く。今すぐこのボタンをクリックすると、カスタマイズされたtabcontrolにタブページを追加する必要があります。このUC-tabcontrolのボタンをクリックすることにより、動的に多くのページを追加できる必要があります。今はそれを手に入れましたか?これを達成する方法は? –

+0

私の状況では、ボタンをクリックすると(そのユーザーコントロールには存在しません)、UC-tabcontrolでイベントを生成する必要があります。 addind tabpagesと同じように、将来はボタンをクリックしたタブページにUI(ラベル、テキストボックス、コンボなど)を追加している可能性があります。 –

答えて

1

てみユーザーコントロール上にないフォームであることに注意してください:あなたは、ユーザーコントロールの基本クラスを作った理由

public customtabcontrol() { 
    InitializeComponent(); 
} 

public TabControl.TabPageCollection TabPages { 
    get { return tabControl1.TabPages; } 
} 
+0

yaah行のエラーを解決しました。tb.TabPages.Add(tp);それでもタブページは追加されません。 –

+0

です。ボタンをクリックしたときに投稿されたコードがフォームに追加されない新しいUserControlを作成しています。デザイナで作成したコントロールを使用します。 – LarsTech

+0

どのようにそれを解決するには?申し訳ありませんが、私は受け入れることができません –

関連する問題