在Designer环境中编辑自定义控件或面板

时间:2011-10-09 15:28:52

标签: c# winforms windows-forms-designer

我创建了一个继承System.Windows.Forms.Panel的自定义控件,并添加了一些额外的属性。然后我打算创建继承这个自定义面板类的子类,并向它们添加内容。

自定义面板类将传递给“向导”框架(带有后退/下一个按钮)作为各个步骤的内容。我打算大量使用它,为Wizards创建40-50个不同的页面来处理我项目中的各种事情。

问题:有没有办法在Designer中查看面板,并从那里修改其布局和设计?我可以用艰难的方式对所有内容进行编码,但我真的不想这样做。

我做了一些搜索并找到this article,但讨论了创建自定义控件并将其添加到库中。我不需要这样做,我只想直接在Designer中查看/编辑控件,而无需将其添加到表单中。

2 个答案:

答案 0 :(得分:0)

明显的救援答案。

创建自定义控件,根据需要添加布局/拆分面板,并将其属性更改为DockStyle.Fill。

这使得您的自定义控件“行为”就像布局控件一样,只要您将所有其他控件添加到布局控件中。

答案 1 :(得分:0)

首先添加此名称空间

using System.ComponentModel.Design;

System.ComponentModel.DesignerAttribute属性应用于控件,如下所示:

[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))] 
public class UserControl1 : System.Windows.Forms.UserControl
{
      ...
}

现在您可以在设计器环境中编辑自定义用户控件