A. c#中如何添加Visio Drawing Control 控制項
其實就是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文檔繪圖使用。
如何使用C#進行Visio二次開發-總結版
很久沒有寫C#進行Visio二次開發的文章了,這次溫習一下Visio二次開發的相關知識,全面總結一下Visio 二次開發的方方面面。一方面讓對Visio的開發不太了解人員有一個全局的認識,對已經看過我前面文章的人來一個回顧總結。
本次主要根據我在Visio二次開發過程中,獲得的一些實際系統開發經驗以及學習歷程,分三個方面對下面內容進行介紹:
1)介紹C#的Visio二次開發管理系統的架構設計思路
2)介紹C#進行Visio開發的准備工作
3)Visio的編程對象模型
1)Viso二次開發管理系統的架構設計思路
本文是綜合了所有講過和未講過的Visio開發知識,有些地方時前面介紹很少或者帶過的,在此做了深層次的分析和介紹,對於Visio開發和探索,國內資料相對比較少,很多是探索性和嘗試性的研究,希望本文能夠為大家做一定的指引作用。
B. VB.net2010自定義組件怎麼出現在工具箱
重新生成,控制項工具欄,會出現【解決方案名稱】組件,如hb_test組件,裡面有當前解決方案自定義的控制項,如果沒有,以下方法可以使控制項在編輯狀態出現在窗體上。
打開form1.designer。vb
在Partial Class Form1類中的最後添加:
Friend WithEvents MergeColumn1 As WindowsApplication1.MergeColumn』定義控制項的全局變數
找到public sub InitializeComponent過程,在裡面添加:
Me.MergeColumn1 = New WindowsApplication1.Datavip()『初始化。
Me.MergeColumn1.Location = New System.Drawing.Point(0, 0)『控制項在窗體中的位置。
Me.daMergeColumn1ame = "daMergeColumn1"』控制項名
Me.MergeColumn1.Size = New System.Drawing.Size(140, 150)『必需,控制項大小。
Me.MergeColumn1.TabIndex = 0』
Me.Controls.Add(Me.daMergeColumn1)『必需,將控制項添加到窗體。