Winform 桌面应用使用vb(.ocx)ActiveX

Johnny_net 2011-07-11 01:21:40
在.net中使用ocx控件(vb),桌面程序的主界面 上把控件Mar(需要使用的)从工具箱拖到界面上,引用里自动添加2个命名空间在Designer.cs文件里有个实例对象 private AxMar.AxCtrl ax1;
现在,需要把三个ActiveX 控件A,B,C简单的封装,他们干的事儿差不多,比如初始化Init方法
A:void Init()
B:bool Init(ref string error)
C:bool InitCtrl()
这样,我只需要写个方法bool Init(string error) 就行了。
问题是,我不想把ActiveX 加载到主界面上,自己去new对象,可是老抛异常,引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常。

跟踪发现,自己手动写代码new 对象是不对的,把ActiveX控件拖界面上实例化一个对象OO,使用00调用控件里面的方法就可以。为什么?
是否可以自己写代码调用控件ActiveX 里面的方法,不加载到主界面?
...全文
33 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧