2012-04-26 8 views
0

私はtabInsurenceとtabPersonalという名前の2つのタブページがあるという点でTabControを持っています。Tabcontrolの外にボタンがあります。 1つのタブページに対して表示し、他の2つのタブページでは無効にします。私はこのコードを書かれたが、決して 仕事ボタンWinFormのタブページで非表示

private void tabPersonal_Click(object sender, EventArgs e) 
    { 
     btnSave.Visible = true; 
    } 
    private void tabPersonal_Click(object sender, EventArgs e) 
    { 
     btnSave.Visible = true; 
    } 
+0

あなたは別のイベントを使用して選択します。この[トピック]で ルック[1] [1]:http://stackoverflow.com/questions/2926244/how-do-i-detect-a-change-of-tab-page -in-tabcontrol-prior-to-selectedindexchanged –

+0

デバッグをチェックインすると、そのコードに達するかどうか – Likurg

+0

あなたの質問に全く同じイベントを2回掲載しました。私はそれがあなたが意図したものだとは思っていませんが、あなたの疑問をより混乱させます。 – Bernard

答えて

2

は、選択されたインデックスは、ボタンが選択されたインデックスに基づいて有効または無効にする必要があるかどうかを決定するために、イベントを変更してください。

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     btnSave.Enabled = tabControl1.SelectedIndex == 0 ? true : false; 
    } 
+2

またはさらに良い: 'btnSave.Enabled =(tabControl1.SelectedIndex == 0)' –

+0

@Alon Gubkinそうです。 – mchicago

0

常に表示するように設定しています。それは望ましい機能ですか?あなたの説明から、タブの1つに隠れた(または無効にしたかった)ように聞こえました。

タブコントロールイベントがメソッド(プロパティボックスのイベントまたはコントロールをダブルクリックするだけ)に引き続き接続されていることを確認します。

また、タブコントロールのタブ変更イベントを試してみることもできます。使用しているクリックイベントは、ユーザーがタブページの背景をクリックしたときのものです。

関連する問題