我需要制作一个可用于多个项目的 UserControl。但它必须是一个表单,以便用户可以添加对库的引用并调用表单。
我见过像 Telerik 和 DevExpress 这样的第三方公司使用可以添加到项目中的自定义表单。
我将如何做到这一点?我一直在浏览 SO 和 Google 的各种帖子,但在我的搜索中没有成功。
编辑我假设出于某种原因它必须是 UserControl 。但事实并非如此。我接受了只添加一个表单并从该命名空间调用它的建议。完全按照需要工作。谢谢大家。
我需要制作一个可用于多个项目的 UserControl。但它必须是一个表单,以便用户可以添加对库的引用并调用表单。
我见过像 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
你必须在这里小心。您的标签列出了 winform,所以我假设您使用的是 .net 和 UserControls。Winforms 只允许每页使用一个表单。您可以将多个用户控件添加到页面。如果您使用基本表单路线,程序员将不得不将其他所有内容添加到您的基本页面。UserControls 将提供更多的灵活性,因为它们可以添加到现有页面。