Я пытаюсь создать приложение WinForms, которое позволит пользователю вводить ProgID (и, возможно, ClsID) любого зарегистрированного элемента управления ActiveX COM, и загружать форму этого элемента управления. В настоящее время у меня есть следующее:
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, но они, похоже, предполагают, что вы знаете элемент управления во время разработки. Возможно ли то, что я пытаюсь сделать, и если да, то как?