[英]Can we use a panel of some winform from another winform in C#?
我想在C#中使用win-form,並在另一個表單中使用的面板中顯示其內容或整個表單。
假設我有一個帶有面板Panel_of_A的表格A和一個帶有面板Panel_of_B的表格B.
我想將Panel_of_A的內容顯示在Panel_of_B中,或者您可能會說我想以另一種形式使用Panel_of_A。
或者,您可以提供幫助,以便在表格B的面板中顯示表格A。
希望我讓你理解我的想法......
我認為更好的方法是創建一個包含該面板的用戶控件,並在兩個表單上重新使用它。
這是一個如何在MSDN上創建用戶控件的教程 。
創建一個包含要復制的邏輯的用戶控件,然后在兩個位置包含新的用戶控件。
如何在FormB的面板中顯示FormA的實例? UserControl可能是更好的方法,但你要求的是可能的。
fa = new FormA();
fa.TopLevel = false;
fa.FormBorderStyle = FormBorderStyle.None;
fa.Dock = DockStyle.Fill;
fb = new FormB();
fb.panel1.Controls.Add(fa); // if panel1 was public
fa.Show();
fb.Show();
我建議將要重用的面板定義為單獨的類,並將其放在兩個表單上。 如果您需要顯示的數據也相同,則綁定到可以在表單之間傳遞的業務對象。
根據應用程序的大小和規模,您可能需要考慮(免費) Composite UI Application Block
從模糊:
它提供了基於眾所周知的設計模式(如Composite模式)構建復雜智能客戶端用戶界面的成熟實踐,其中簡單的用戶界面部件可以組合以創建復雜的解決方案,但同時允許這些部件獨立開發,測試和部署。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.