2016-11-13 53 views
0

我正在使用VS C#中的項目工作,但我需要一些幫助。我有一個水平拆分容器,其中面板1包含菜單條,面板2包含2個面板,面板1的作用類似於側邊欄。我在菜單欄中添加了一個按鈕,其目的是隱藏或顯示側邊欄,具體取決於條件splitContainer2.Panel1Collapsed == false
但是,我希望按鈕的文本相應地改變 - 例如。從「隱藏側邊欄」到「顯示側邊欄」。我應該怎麼做? 這裏是所有代碼:如何使按鈕的文本根據條件發生更改(C#)

private void hideSidePanelToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     if (splitContainer2.Panel1Collapsed == false) 
     { 
      splitContainer2.Panel1Collapsed = true; 
     } 
     else splitContainer2.Panel1Collapsed = false; 
    } 

這裏是一個截圖: Something like this. I am unable to show the list of the View button, because of the program I am using, but I hope you get the point.

+0

FYI可以更換你的代碼與'splitContainer2.Panel1Collapsed =!splitContainer2.Panel1Collapsed;' –

+0

Thx。我是初學者,並不知道。 :-) –

+0

你在做什麼:Winforms,WPF,ASP ..? __Always__正確標記您的問題! – TaW

回答

0

您需要更改按鈕的。文本屬性/ ToolStripItem的:

private void hideSidePanelToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    if (splitContainer2.Panel1Collapsed == false) 
    { 
     splitContainer2.Panel1Collapsed = true; 
     hideSidePanelToolStripMenuItem.Text = "Show Sidebar" 
    } 
    else { 
     splitContainer2.Panel1Collapsed = false; 
     hideSidePanelToolStripMenuItem.Text = "Hide Sidebar" 
} 
+0

謝謝你的回答。然而,奇怪的是,它只有第一次運作!?但經過第二次測試後,該按鈕不會更改文本。 :-0 –

+0

這很奇怪。有幾件事情可能會出錯。如果我是你,我會檢查以下內容: – akkwake

+0

檢查是否有其他方法正在更改文本,如果splitcontainer面板確實摺疊,並且您正在更改正確按鈕上的文本。 – akkwake