在C#窗體中,假設我有5個控件。我只是隱藏其中的一些。當我運行該程序時,只會出現(Visible = true)控件。我想單擊一個按鈕以顯示或取消隱藏所有控件。我怎樣才能做到這一點?如何在C#中顯示窗體的所有隱藏控件?
1
A
回答
2
你可以讓它遞歸,如果你有任何面板/組框,他們的孩子也會變得可見。
public void MakeVisible(Control control)
{
if(control.HasChildren)
{
foreach (Control child in control.Controls)
{
MakeVisible(child);
}
}
control.Visible = true;
}
2
您將需要更改後面的代碼中的可見propery。
例如
button1.visible = true;
併爲每個隱藏的控件,按鈕做或不做。
只是添加我懷疑你會想通過所有其他人建議的控制循環。如果您在不同情況下僅顯示某些控件,則更改表單上所有內容的可見性會浪費時間,並且可能會導致跟蹤效果進一步惡化。
由於它只有5個控件,我會堅持單獨更改每個控件。
4
有關的WinForms,試試這個:
foreach (Control c in Controls) {
c.Visible = true;
}
代碼遍歷窗體上的所有控件並設置Visible屬性設置爲true,使每一個可見。
1
如果你想隱藏/顯示的一切,
foreach (Control cr in this.Controls)
cr.Visible = false; // or true, if you want to show everything
1
喜歡的東西
foreach (var controlObj in form.Controls)
((Control)controlObj).Visible = True;
應該做的伎倆。這只是顯示全部控件的形式。 (注意:Form.Controls
爲僅包含Object
秒的非類型化的集合,所以你要投他們AFAIR)
如果你只有5控制,你也可以單獨給他們,也許在像
void showHiddenControls(bool show) {
control1.Visible = show;
control2.Visible = show;
// ...
}
的方法
這樣做的好處是您可以使用showHiddenControls(true)
來顯示它們,並使用showHiddenControls(false)
再次隱藏它們。
0
主要的想法是這樣的創建對象:
Label toto = new Label():
(...) Do whatever you wan't to initialize your object
toto.Visible = false;
Button makeItAppear = new Button();
(..) Do whatever you wan't to initialize this button
,然後單擊事件添加一個處理程序:
makeItAppear.Click += new System.EventHandler(MakeItAppear);
然後在事件處理程序:
private void MakeItAppear(object sender, EventArgs e)
{
this.toto.Visible = true;
}
最好的會是創建一個函數,使其出現並由Handler調用。當然,如果你有多個對象可以出現或消失,在這個函數中對所有對象都做同樣的事情。
相關問題
- 1. 控件在C#窗口程序中隱藏窗體的事件
- 2. 如何隱藏和顯示c中的子窗體#
- 3. 在C中隱藏窗體#
- 4. C#顯示隱藏窗口
- 5. 如何在同一窗口中顯示窗體輸出並隱藏窗體
- 6. C#在設計器模式下隱藏窗體中的控件
- 7. 如何捕捉/處理窗體的隱藏/顯示事件?
- 8. 在C#中隱藏/顯示Windows窗體面板#
- 9. C#,如何隱藏一個窗體並顯示另一個窗體?
- 10. Drupal 6:如何隱藏字段集在窗體中顯示?
- 11. 如何在窗體中顯示輸入類型(隱藏)
- 12. 在C#中,你如何顯示一個隱藏的窗口?
- 13. C#隱藏所有標籤/控件
- 14. 顯示隱藏jQuery顯示所有隱藏的tr
- 15. 在C#中打印隱藏的窗體?
- 16. 在Mac OS X中顯示桌面/隱藏所有窗口
- 17. Zend - 隱藏窗體並顯示消息
- 18. 隱藏窗體顯示空白區域
- 19. 爲什麼隱藏窗體不顯示?
- 20. 隱藏窗體並在窗體提交時顯示div
- 21. 在Qt中顯示隱藏控件時調整窗口大小
- 22. 窗口顯示/隱藏切換控制
- 23. 有條件地顯示/隱藏Windows窗體元素
- 24. 窗體在隱藏事件
- 25. 如何在MDI容器中顯示子窗體而不顯示子窗體中容器窗體中的控件?
- 26. 用angularjs顯示/隱藏所有顯示/隱藏區域
- 27. wpf C#在資源文件中隱藏/顯示控件
- 28. 如何有條件地隱藏/顯示jqgrid的添加/編輯窗體?
- 29. 在C中隱藏窗體滾動條#
- 30. 如何使用數組來保存c#窗體中的控件並隱藏/顯示它們
@H。Wardak:你爲什麼會在乎它是遞歸的? – 2011-12-22 08:22:12