有没有办法让控制像Panel
,并插入其他几个组件,如Label
?
我已经制作了一个自定义控件,并将工具箱中的一些控件添加到它的[Designer]中,但是在将自定义控件插入主项目时这些项目是不可见的。
我终于弄明白了。
基本上
custom control
this.Controls.Add(label1)
。我发现这个形式的设计者将控件插入到另一个控件中。MultiControl.cs:
public partial class MultiControl : Panel
{
public MultiControl()
{
InitializeComponent();
this.Controls.Add(label1);
}
}
这里是设计师代码:
partial class MultiControl
{
private System.Windows.Forms.Label label1;
private void InitializeComponent()
{
this. = new System.Windows.Forms.Label();
}
}
如果您的usercontrol和主项目都属于同一解决方案,则UserControl将自动显示在Designer工具箱的顶部。
但是,如果您的用户控件位于另一个解决方案中,并且您的主项目具有对dll的引用,则需要手动将控件添加到工具箱。
在主项目中打开设计器后,右键单击工具箱并选择选择项....
从.NET Framework组件中,单击“浏览”并选择用户控件的DLL。
单击确定。
单击确定。
现在,程序集中的所有公共控件都应显示在“工具箱”中。