-1

我需要制作一个可用于多个项目的 UserControl。但它必须是一个表单,以便用户可以添加对库的引用并调用表单。

我见过像 Telerik 和 DevExpress 这样的第三方公司使用可以添加到项目中的自定义表单。

我将如何做到这一点?我一直在浏览 SO 和 Google 的各种帖子,但在我的搜索中没有成功。

编辑我假设出于某种原因它必须是 UserControl 。但事实并非如此。我接受了只添加一个表单并从该命名空间调用它的建议。完全按照需要工作。谢谢大家。

4

5 回答 5

2

只需在您的库中创建表单,将其公开,您就可以从任何地方调用它。

创建和调用表单的方法有:

YourFormClassName FormForUser = new YourFormClassName();
FormForUser.Show();
FormForUser.ShowDialog();
于 2013-05-03T13:46:46.673 回答
0

也许我不明白。如果我这样做了,那就直截了当。

  1. 将项目 (ProjectWithReusedForm) 添加到包含要重用的表单的解决方案。
  2. 在要使用表单的第二个项目中添加对 ProjectWithReusedForm 的引用
  3. 在要使用表单的代码中添加“使用 ProjectWithReusedFormNamespace”

然后您可以添加语句 ReusedForm myForm = new ReusedForm();

于 2013-05-03T13:49:19.920 回答
0

只需使用所有控件创建表单。并创建空的用户控件

前任:

在初始化函数后在 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)
于 2013-05-03T13:58:21.623 回答
0

您可以创建BaseForm(通过添加.cs文件或引用已编译的内容直接将其添加到项目中 - 以类库为例)。然后只需将一个新表单添加到项目中

namespace MySolution
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

Form更改为BaseForm

    public partial class Form1 : BaseForm
于 2013-05-03T14:01:11.437 回答
0

你必须在这里小心。您的标签列出了 winform,所以我假设您使用的是 .net 和 UserControls。Winforms 只允许每页使用一个表单。您可以将多个用户控件添加到页面。如果您使用基本表单路线,程序员将不得不将其他所有内容添加到您的基本页面。UserControls 将提供更多的灵活性,因为它们可以添加到现有页面。

于 2013-05-03T14:09:46.787 回答