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

    https://www.cnblogs.com/skyay/p/3893925.html

    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文档绘图使用。
     
    好文要顶 关注我 收藏该文  
  • 相关阅读:
    编程爱好者论坛第六次编程比赛题目
    google china code jam round2 div1 1000分题
    ogl2dlibsdl cvs repository @ cosoft
    偶尔也提一个游戏点子:宇宙碰撞
    今天看到一些笑话...
    google china code jam入围赛的一个题
    用Regular expression寻找源代码中的汉字字符串
    生成函数理论初步
    Komodo 的中文支持
    “豪华版”的USB延长线
  • 原文地址:https://www.cnblogs.com/chinasoft/p/15633336.html
Copyright © 2011-2022 走看看