2012-03-20 97 views
2

我有一個關於我在C#實現中遇到的問題的問題。我想「隱藏」我的面板的一部分,如果用戶檢查複選框(或類似的東西),應該顯示面板的這個隱藏部分。隱藏部分面板C#

我想要的是類似於Windows中用於這類事情的東西。就像您在「我的電腦」時一樣,您可以在左側面板中看到多個選項,而一個小「三角形」表示還有更多要顯示的內容。

我所擁有的就像是用戶檢查複選框時顯示的10-15個文本框。我的第一個想法是要我的面板的靜態大小,只是隱藏文本框,但因爲這將看起來相當愚蠢與我下面的空白空間很多dississed這一點。

我想要減小尺寸,但這是最有效的方法還是有更聰明的方式做這樣的事情?

謝謝大家!

+0

請將winforms標籤添加到您的文章或指定您正在使用的平臺。 – 2012-03-20 22:05:24

+0

記得接受一個答案,以便將來的計算器用戶可以使用這個問題作爲指導:) – 2012-03-21 00:05:04

回答

3

您可能想要一個嵌套面板,其中包含您要隱藏的控件。當出現希望隱藏/顯示它們的情況時,只需更改嵌套面板的可見性即可。根據您的表單佈局方式,您也可以在執行此操作時手動更改外部面板的大小。

+0

我喜歡你的建議,我會嘗試這樣的事情,希望我已經正確地理解你.. – erikduvet 2012-03-20 22:28:47

+0

請標記它,如果它回答你的問題。 – 2012-03-21 14:47:27

0

你需要像

if (checkBox1.Checked == true) 
{ 
    panel1.Visible = true; 
} 

地方單擊該複選框時的方法這裏面的代碼創建的。

+1

不會'panel1.Visible = checkBox1.Checked;'更簡單嗎? – Bernard 2012-03-20 22:09:53

+0

針對簡單明瞭的代碼,一行代碼看起來更簡單,但更難理解 – 2012-03-20 22:11:16

+0

你是說我應該把我的面板分成兩份呢?我只想隱藏我的面板的一部分,它應該像一個DropDownList一樣,但不litterly .. – erikduvet 2012-03-20 22:26:44