WPF项目添加activex控件
在WPF 项目中,如果想用一个以.ocx的activex的组件时,如果直接在工具箱中添加,是没有任何反应的。但是在windows窗体应用程序项目中,添加组件到工具栏中就没有任何问题。
如果想再WPF 项目中,使用 activex 控件。可以使用下面的方法:
1.在wpf项目中添加一下引用:
.NET 组件 WindowsFormsIntegration
.NET 组件 System.Windows.Forms
2.WPF提供了一个WindowsFormsHost类( 需要添加using System.Windows.Forms.Integration;)
用来做Windows Form的容器,我们要用到的Form控件就必须放进这个容器里。我们可以在InitializeComponent()后添加:
3.添加后,就用代码动态的去使用activex控件了
示例程序:
InitializeComponent(); //初始化窗体
//创建host对象
System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost();
//创建active 控件对象
AxCapOcx2Lib.AxCapOcx2 x = new AxCapOcx2Lib.AxCapOcx2();
//将activex控件添加到 WindowsFormsHost 中
host.Child = x ;
//将WindowsFormsHost 添加到 wpf 窗口中的容器中
this.grid1.Children.Add(host);
好了,这样就可以使用activex 控件了
------------------------ 如何定义activex控件的事件-----------------
EG:
x.getResult += new AxCapOcx2Lib._DCapOcx2Events_getResultEventHandler(x_getResult);
输入+= 号以后,vs会自动的提示出来后面的代码,点击 tab 键 就可以自动生成事件了;
摘自 zjl5211314的专栏
补充:综合编程 , 其他综合 ,