我正在制作一个C#用户控件,用作ActiveX控件。通常,C#用户控件派生自System.Windows.Forms.UserControl
。这就是Visual Studio向导会给你的东西:
public partial class UserControl1 : UserControl
这就是我在网络上遇到的所有代码示例中看到的内容。
但我使用第三方dll,只能使用Form。所以我试图让我的Active X控件继承自System.Windows.Forms.Form
:
public partial class UserControl1 : System.Windows.Forms.Form
这似乎有效,如果我在构造函数中将TopLevel设置为false。我可以使用regasm编译和注册我的dll,并在C ++ / MFC托管/测试程序中使用ActiveX控件。它有效。
但我想知道从Form
而不是UserControl
派生是否有任何不利之处?我在路上遇到麻烦了吗?我有没有理由在其他地方看到这种结构?我应该注意什么?
我希望我的问题不是太模糊或广泛。