我正在尝试动态地将ActiveX控件添加到我的应用程序中,而不必将其放在表单上。
但是,当我使用Visual Studio设计器放置ActiveX控件时,初始化代码生成,其中包含用于设置ActiveX控件的OcxState的语句。
使用设计器将ActiveX控件添加到表单时,似乎将OcxState序列化为资源文件,稍后在表单初始化时检索该文件。
现在我想在代码中动态设置OcxState,所以我可以在我的类库中为ActiveX for创建某种包装类。
任何人都知道如何动态设置ActiveX控件的OcxState?
提前致谢!
马修
答案 0 :(得分:1)
我在同样的问题上工作,我现在得到的解决方案是使用Worker表单,这不是show,但是我可以加载ocx并将ocx的所有事件和方法包装到外部。 在我的库类中,我使用的形式与任何其他类一样,而不是ocx调用
答案 1 :(得分:1)
我在处理需要ActiveX控件进行数据操作的.NET项目时遇到了同样的问题。我必须将ActiveX控件放在表单上,使用应用程序加载它并将其与公共属性一起使用。否则,如果我只创建一个控件实例,我就会失去一些功能。
表单不需要一直可见,但它提供了一个ActiveX控件可以存在的容器。
答案 2 :(得分:1)
另一种方式是 UserControl , 您可以使用 ActiveX控件创建用户控件。现在,您可以在运行时动态地将用户控件加载到任何位置。