![](/img/trans.png)
[英]Will the WPF user Control be Disposed if used inside a Windows Form that will be disposed?
[英]Can a Form be used as a user control?
我需要制作一個可以用於多個項目的UserControl。 但是它必須是一個Form,以便用戶可以僅添加對庫的引用並調用該Form。
我已經看到第三方公司(例如Telerik和DevExpress)使用可以添加到項目中的自定義表單。
我將如何完成? 我一直在瀏覽SO和Google的各種帖子,但是搜索沒有成功。
編輯我以為由於某種原因它必須是一個UserControl。 但事實並非如此。 我建議只添加一個表單並從該名稱空間調用它。 完全根據需要工作。 感謝大家。
只需在您的庫中創建表單,將其公開即可,您可以從任何地方調用它。
創建和調用表單的方法是:
YourFormClassName FormForUser = new YourFormClassName();
FormForUser.Show();
FormForUser.ShowDialog();
也許我聽不懂。 如果我這樣做,那就很簡單。
然后,您可以添加語句ReusedForm myForm = new ReusedForm();。
只需創建帶有所有控件的表單即可。 並創建空的用戶控件
例如:
初始化函數后在usercontrol構造函數中執行此代碼
dim obja as new RegForm()
obja.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
obja.Visible = true
obja.Dock = System.Windows.Forms.DockStyle.Full
me.Controls.Add(obja)
您可以創建BaseForm
(可以通過添加.cs
文件將其直接添加到項目中,也可以將已編譯的類庫引用到示例中)。 然后只需向項目添加新表單
namespace MySolution
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
並將Form
更改為BaseForm
public partial class Form1 : BaseForm
您在這里一定要小心。 您的標簽列出了winforms,所以我假設您正在使用.net和UserControls。 Winforms每頁只允許一個表單。 您可以將多個UserControls添加到一個頁面。 如果您使用基本表單路由,那么程序員將不得不將其他所有內容添加到您的基本頁面中。 UserControls可以提供更多的靈活性,因為它們可以添加到現有頁面中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.