我正在尝试创建一个WinForms应用程序,允许用户输入任何已注册的ActiveX COM控件的ProgID(以及必要时可能的ClsID),并使表单加载该控件。我目前有以下内容:
public static class prog
{
public static string progID = "Control.ControlName";
}
[ProgId(prog.progID)]
class GenericControl
{
}
然后我尝试在表单中使用它,如下所示:
Control newctl;
newctl = (Control)new GenericControl();
this.Controls.Add();
显然,这不起作用 - 它告诉我,我无法将GenericControl转换为Control。我在Interop上发现了一些文章,但他们似乎认为你在设计时知道控件。我正在尝试做什么,如果是的话,怎么做?