zoukankan      html  css  js  c++  java
  • C#中使用visio控件

    C#中使用visio控件  

    2012-08-25 18:14:19|  分类: 技术相关|举报|字号 订阅

     
     

    其实就是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文档绘图使用。
  • 相关阅读:
    bzoj2888: 资源运输
    [ SDOI 2009 ] HH的项链 & [ HEOI 2012 ] 采花
    [ POI 2017 ] Podzielno
    [ HAOI 2011 ] Problem A
    [ SDOI 2011 ] 打地鼠
    [ SCOI 2007 ] Perm
    [ POI 2011 ] Dynamite
    [ BZOJ 3038 & 3211 / SPOJ GSS4 ] 上帝造题七分钟2 / 花神游历各国
    [ BZOJ 3445 ] Roadblock
    [ ZJOI 2006 ] Mahjong
  • 原文地址:https://www.cnblogs.com/skyay/p/3893925.html
Copyright © 2011-2022 走看看