2012-02-28 205 views
3

我已經創建了兩個單獨的UserControls和(取決於哪個RadioButton被選中),我希望顯示一個或另一個。在面板上的兩個UserControl之間「切換」的最佳方法是什麼?

現在,我只需將每個UserControl的一個實例拖到窗體上,並將其中一個放在另一個的頂部(設置一個.Visible = false;)。

這是好的,但我想知道是否有更好或更合適的方法來做到這一點?

+0

請不要在「c#:」等前加上標題。這就是標籤的用途。 – 2012-02-29 00:25:30

+0

[在C#中爲Windows窗體創建嚮導]的可能重複(http://stackoverflow.com/questions/2340566/creating-wizards-for-windows-forms-in-c-sharp) – 2012-02-29 01:08:49

回答

4

這是完全合理的。

如果您關心的是保留不再使用的資源,則可以添加Panel並在其中添加或刪除控件。

E.g.

try 
{ 
    panel.SuspendLayout(); 
    panel.Controls.Remove(userControl1); 
    panel.Controls.Add(userControl2); 
} 
finally 
{ 
    panel.ResumeLayout(); 
} 

如果用戶控制連接數據源之類的事情,您可能需要實際處理並重新創建它們。真的取決於控件的複雜程度。如果他們只是捕獲一些屬性,你目前的解決方案是好的。

相關問題