*******************BEGIN*******************

YI-D

恶魔的眉眼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

客户要求在wpf编辑个office,莫名。。。

用过点聚的weboffice。

嵌入个浏览,犹豫了下,还是封装个dll吧。

安装注册你要用的ocx

1.新建个”windows窗体组件库“工程

2、点击工具箱邮件==》选择项==》com组件找到他

3、把这个东西拖入到usercontrol的界面里面,你会发现该工程引用会多2个dll

4、生成工程。ok,你发现,里面有2个莫名的dll

到目前你dll算引入完成。

 

1、新建个wpf工程

2、建个userctrol

引用上面生成的dll


//引入
using System.Windows.Controls;
using System.Windows.Forms.Integration;

//new一个备用

private AxWEBOFFICELib.AxWebOffice _axWebOffice;

//new一个容器备用。

private System.Windows.Forms.Integration.WindowsFormsHost _winHost;


//在构造函数里面初始化下

public OfficeAtiveX()
{
InitializeComponent();
_winHost = new WindowsFormsHost();
_axWebOffice = new AxWebOffice();
if (_winHost.Child != null)
{
_winHost.Child.Dispose();
_winHost.Child = null;
}

_winHost.Child = _axWebOffice;
_axWebOffice.BeginInit();//必须
this.uoxcObox.Children.Add(_winHost);
_axWebOffice.EndInit();//必须

_axWebOffice.NotifyWordEvent += new _DWebOfficeEvents_NotifyWordEventEventHandler(_axWebOffice_NotifyWordEvent);


}



//主意哦,许多ocx需要销毁。。。请调用它的close方法,还有把_winHost 弄掉



 

下面么编译,把这个usercontrol拖入到你的需要的地方就ok,再次强调销毁,特别是视频控件,注意在可见或者关闭的时候调用对应的方法

posted on 2012-10-24 21:59  YI-D  阅读(1952)  评论(0编辑  收藏  举报

^_^ ^_^ *******************END******************* ^_^ ^_^