C# 从Forms.Form派生的用户控件

C# 从Forms.Form派生的用户控件,c#,winforms,forms,inheritance,user-controls,C#,Winforms,Forms,Inheritance,User Controls,我正在制作一个C#用户控件,用作ActiveX控件。通常C#用户控件派生自System.Windows.Forms.UserControl。这就是Visual Studio向导将为您提供的功能: public partial class UserControl1 : UserControl 这就是我在网络上遇到的所有代码示例中看到的 但我使用的是第三方dll,它只能与表单一起工作。因此,我试图使我的活动X控件继承自System.Windows.Forms.Form: public partia

我正在制作一个C#用户控件,用作ActiveX控件。通常C#用户控件派生自
System.Windows.Forms.UserControl
。这就是Visual Studio向导将为您提供的功能:

public partial class UserControl1 : UserControl
这就是我在网络上遇到的所有代码示例中看到的

但我使用的是第三方dll,它只能与表单一起工作。因此,我试图使我的活动X控件继承自
System.Windows.Forms.Form

public partial class UserControl1 : System.Windows.Forms.Form
如果我在构造函数中将TopLevel设置为false,这似乎是可行的。我可以用regasm编译和注册我的dll,并在C++/MFC宿主/测试程序中使用ActiveX控件。它是有效的

但是我想知道从
表单
而不是
用户控件
派生是否有任何缺点?我在路上会遇到麻烦吗?我没有在其他地方看到这个建筑有什么好的理由吗?有什么我应该知道的吗


我希望我的问题不要太模糊或太宽泛。

可能有用的链接:@Arie:谢谢。这是有用的。我还发现了关于表单和用户控件的两种讨论:和