当前位置:编程学习 > 网站相关 >>

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的专栏
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,