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文檔繪圖使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM