2012-01-13 11 views
0

は、3つのタブタブ1を作る方法 でのTabControlを含んで03のボタンとフォーム2が含まれ、私は、フォーム上の最初のボタンをクリックすると、アクティブなタブです1と2番目のボタンをクリックすると、2番目のタブがアクティブになります。最後のボタンと同じボタンをクリックします。 ヘルプ.iは考えていません。パラメータを渡すことで可能ですか?渡す値やイベント

+0

私はあなたがMDIフォームに見るべきだと思うhttp://msdn.microsoft.com:Form2をオン

foreach (Form f in Application.OpenForms) { if (f == Form2) { f.SelectTab(0) } } 

は、メソッドを追加します私たちは、uは意味がある性質の公共のコントロールを作成する方法/en-us/library/7aw8zc76(v=vs.80).aspx – PedroC88

答えて

0

は、フォームのインスタンスを取得する必要があり、その後、あなたはそのフォーム上のコントロールにアクセスすることができます - あなたは、別の形式でアクセスするために、公開などのコントロールを作成する必要があります。

編集:フォーム上のコントロールを公開することは必ずしも良い考えではありません。そのため、コントロールをパブリックにする代わりに、そのクラスにプロパティを作成し、そのプロパティから選択したインデックスを設定するだけで済みます。例:

public class Form2 
{ 
    public int TabSelectedIndex 
    { 
     set { tabControl.TabIndex = value; } 
    } 
} 

public class Form1 
{ 
    private Form2 _form2 = new Form2(); 

    private void Button1_Click(object sender, EventArgs e) 
    { 
     _form2.TabSelectedIndex = 1; 
    } 
} 
+0

?? – user1148561

+0

編集した別の形 – MNIK

0

メソッドをForm2に追加します。 ... void SetActiveTabIndex(Int32 index) {TabControl1.ActiveTab = ...}

+0

を確認してください。タブコントロールを含むフォームに新しいメソッドを配置します。 – user1148561

+0

でTabControlのは編集 –

0

フォーム1の使用に続いて、次のコード「公共」へのフォーム2上のあなたのTabControlの「修飾子」プロパティを設定しliek何か:

Form2 frm = new Form2(); 

//you will need to call frm.Show() somewhere to display form2 

private void Button1_Click(object sender, EventArgs e) 
{ 
    Form2.tabControl1.SelectedIndex = 0; 
} 

private void Button2_Click(object sender, EventArgs e) 
{ 
    Form2.tabControl2.SelectedIndex = 1; 
} 
+0

私はDevExpress社のTabControlを使用していますが、それはそのようなpropertieを持っているdosent !!!! – user1148561

+0

thx私はプロパティのSelectedTabPageIndex thxをたくさんの – user1148561

0

はパブリック静的クラスのパブリック変数を作成しますあなたはForm1の中ボタンをクリックしたときに、ちょうどButton1をクリックしたとき(あなたがたとえば、0に1つのクリックボタン2をパブリック変数の値を設定することができ、特定のボタンがクリックされたことを示すために、この変数の値を変更。.. 。等)。

Form2で、その変数の値を読み取り、その値に従って適切なタブをアクティブにします。

+0

フォーム2で、変数 – user1148561

+0

をキャプチャするイベントです申し訳ありません私はForm1が開いていると仮定し、あなたのボタンをクリックしてForm2が開きます、それは意味をなさない2つのフォームを開き、別のフォームを変更してください。 –

0

Form1に、各ボタンのクリックイベントのハンドラを追加します。

public void SelectTab(int tabIdx) 
{ 
    this.TabControl1.SelectedIndex = tabIdx; 
} 
関連する問題