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

问题描述 投票:0回答:2

有没有办法让控制像Panel,并插入其他几个组件,如Label

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

c# winforms visual-studio controls
2个回答
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();
    }
}

0
投票

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

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

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

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

单击确定。

单击确定。

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

© www.soinside.com 2019 - 2024. All rights reserved.