2015-08-19 68 views
1

当我们需要创建在“常规”框架, 容器控件,我们只需添加如何在紧凑框架中创建用户容器控件?

using System.ComponentModel; 

和控制类的属性:

[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", 
      typeof(IDesigner))] 
public partial class MyContainerControl : UserControl 
.... 

然而,在紧凑的框架,这似乎由于DesignerAttributes类不存在,因此是不可能的。

我已经拥有用户控件,但我需要它在设计时充当容器。
我试过Google搜索的任何东西,但没有提出任何东西。
有没有什么办法可以创建一个容器用户控件,但继承现有的容器控件?

回答

1

UserControl类直接从ContainerControl继承,它与Form相同的继承。奇怪的是,Panel从ScrollableControl(ContainerControls父类)继承,因此尽管它是一个面板,但它不是一个Container。

无论如何,这不是继承问题。设计时间控制实际上是在一个单独的程序集中定义的,它使用完整的框架进行编译,为您提供属性(希望在两者之间共享源代码)。这是一个完全独立的控制。

See here

+0

我很抱歉,但我不明白怎么回答我的问题。当然,用户控件继承自ContainerControl,但是如果您不指定'Designer'属性,则不能在设计时拖拽其他控件(这正是我在紧凑框架中寻找的) –

+0

@ ZoharPeled。这是第二段中的要点。你不能在CF中完成它,你需要创建一个单独的设计时组件,它是使用完整的框架构建的。 –

相关问题