2012-09-23 52 views
-2

我有一個窗體有三個按鈕和一個tabcontrol有三個tabpage。按鈕可見與選擇tabpage c#

這些按鈕放在tabcontrol之外。我希望button1在選中選項卡頁面1時可見,button2在選擇選項卡頁面2時可見,button3在選擇選項卡頁面3時可見。

我目前擁有的代碼如下:

button1.Visible = false; 
button2.Visible = false; 
button3.Visible = false; 

if (tabControl1.SelectedTab == tabPage1) 
{ button1.Visible = true; } 

else if (tabControl1.SelectedTab == tabPage2) 
{ button2.Visible = true; } 

else if (tabControl1.SelectedTab == tabPage3) 
{ button3.Visible = true; } 

此代碼不能正常工作。

我用.Enabled試過的代碼也沒用。我正在使用visual studio 2010,我拖放tabcontrol有三個tabpages和三個按鈕也是OUTSIDE tabcontrol。這也不是工作。

private void Form1_Load(object sender, EventArgs e){ 
    button1.Enabled = false; 
    button2.Enabled = false; 
    button3.Enabled = false; 

    if (tabControl1.SelectedTab == tabPage1){ 
     button1.Enabled = true; 
     button2.Enabled = false; 
     button3.Enabled = false; 
    } else if (tabControl1.SelectedTab == tabPage2){ 
     button1.Enabled = false; 
     button2.Enabled = true; 
     button3.Enabled = false; 
    } else if (tabControl1.SelectedTab == tabPage3){ 
     button1.Enabled = false; 
     button2.Enabled = false; 
     button3.Enabled = true; 
    } 
} 
+0

請提供更多的信息 - 什麼是不工作是什麼呢?你是否遇到異常,或者只是沒有任何反應?另外,你是否嘗試過設置'enabled'而不是'visible'來檢查按鈕是否被修改? –

+0

輸出是什麼?你看到任何按鈕? – Gabber

+0

@Gabber有三個按鈕'button1'使其他人不能。無論你選擇哪個tabpage,結果都不會改變。感謝您的親切幫助。 – tolgasenol

回答

2
button1.Visible = tabControl1.SelectedTab == tabPage1; 
button2.Visible = tabControl1.SelectedTab == tabPage2; 
button3.Visible = tabControl1.SelectedTab == tabPage3;