Winform 桌面应用使用vb(.ocx)ActiveX
在.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 里面的方法,不加载到主界面?
现在,需要把三个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 里面的方法,不加载到主界面?
...全文
相关推荐
dsoframer_v2.3.0.2.ocx
在线编辑office文档,可以用于winform,webform等程序中。
WinForm调用OFFICE插件
WinForm调用OFFICE插件DsoFramer,在其它计算机使用时,要把安装后的DsoFramer.OCX拷到计算机上,并进行注册
c#开发,winform中嵌入office,使用到DSO Framer。
c#开发,winform中嵌入offfice,使用到DSO Framer。 微软DSO Framer的下载,注册ocx控件,添加到VS。
C#编写web页面ActiveX控件
使用C#开发一个ActiveX控件实现读取并显示客户端的系统时间。
封装的TEXTBOX控件
支持数字,字符,日期,以及各种字符的编辑模式。


分析与设计
