1. 苏葳的备忘录首页
  2. 编程

C#中使用Visio控件

visio c# 其实就是C#访问VISIO的自动化模型,以前做了不少C#和Excle及word 的交互工程,在用VS2010 尝试开发Visio 2007项目时,却忘了当时要安装Office 2003 开发SDK。所以开发visio工程,也要下载安装office 2007 开发sdk。英文版的。然后就建立一个C#项目。在工具箱上点右键,选择“选择项”,在打开的对话框中选择“com控件””,在其中找到visio 12.0 drawing control。然后该控制就被添加到工具箱。

还需要引用类型库否?貌似是不需要。 在cs文件中

using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Visio;

之后,就可以引用对象,也可以直接访问拖上form的visio 控件:

axDrawingControl1.Window.ShowRulers = 0;
axDrawingControl1.Window.ShowGuides =   0;
axDrawingControl1.Window.ShowPageTabs =   false;
axDrawingControl1.Window.Zoom = -1;
axDrawingControl1.Window.Application.Documents.OpenEx(stencilPath,(short)VisOpenSaveArgs.visOpenRO+(short)VisOpenSaveArgs.visOpenDocked);

注意由于office系列的本质是vb模型,所以在C#中调用要有一些变化,比如showguides等属性设置不能直接用true和false。以前在开发excle时,还有调用模型方法时VB的变参到C#调用的转换问题。下面的openEx,将以只读和dock方式打开一个自己创建的“模具”(.vss文件),这个模具将同样出现在控件窗口内,供visio文档绘图使用。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/403.html

发表评论

邮箱地址不会被公开。 必填项已用*标注