簡體   English   中英

表單可以用作用戶控件嗎?

[英]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();

也許我聽不懂。 如果我這樣做,那就很簡單。

  1. 將一個項目(ProjectWithReusedForm)添加到您的解決方案中,該項目包含要重用的表單。
  2. 在要使用表單的第二個項目中添加對ProjectWithReusedForm的引用
  3. 在要使用表單的代碼中添加“ using ProjectWithReusedFormNamespace”

然后,您可以添加語句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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM