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)‘必需,将控件添加到窗体。