多个控件到单个控件c#winforms上

时间:2017-12-21 01:08:27

标签: c# winforms visual-studio controls

有没有办法让控件像Panel一样,并在其中插入一些其他组件,如Label

我已经制作了一个自定义控件,并将工具箱中的一些控件添加到它的[Designer]中,但是在将自定义控件插入主项目时这些项目是不可见的。

2 个答案:

答案 0 :(得分:1)

我终于明白了。

基本上

  • 制作新的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();
    }
}

答案 1 :(得分:0)

如果您的usercontrol和主项目都属于同一解决方案,则UserControl将显示在Designer工具箱的顶部自动

但是,如果您的用户控件位于另一个解决方案中且您的主项目引用了dll,则需要将控件添加到工具箱手动

在主项目中打开设计器,右键单击工具箱并选择选择项目......

从.NET Framework组件中,单击“浏览”并选择用户控件的DLL。

单击“确定”。

单击“确定”。

现在,程序集中的所有公共控件都应显示在工具箱中。