学习C#操纵Visio之一:定位Shape

C#读Visio模型数据 第一步:安装Visio 安装相应版本的Visio(以64位为例),在安装过程中经常遇到下面的问题 解决方法: 按“win+R”快捷键,打开“运行”,输入“regedit”,打开注册表,找到【HKEY_CLASSES_ROOT】àInstalleràProducts 备份注册表,然后将上面Office 16 Click-to-run Extensiblity Component删除,然后... 阅读详情

写在本文前边:

程序员讲究因果关系,直接就说我想学C#想用C#操作Visio显然很突兀。恩,我就讲下为啥想起来要用C#操作Visio。恩,我有一个IPHONE,上边有很多有趣的程序,恩..表达能力非常强,比以前写的传统对话框、按钮、输入行等等能力强多了。那么现在的UI库通常都是商用的,而且,重要的是似乎并不是以图形表达为重点的,比如我想界面上有一个报警灯,一会儿亮一会儿灭,实现起来就挺烦人。要是界面上都是这样的东西,恐怕得自己写一套什么。Visio、PPT什么的表达能力很强,但是,它的被操作能力如何?能不能按照我的想法表达我的思想?这就是学C#操作Visio的本意。

为啥用C#?因为我懒,厌倦了用C/C++写一大堆东西。

 

OK,现在开始吧。


操纵形状(哭脸变笑脸)

         我这个人比较直接,用C#控制visio就想看看效果。比如实现一个动画?哭脸变笑脸? 当然我脑海中这很简单,无非就是做一个visio图,把哭脸和笑脸摆在一起,重叠放置,然后一会儿把哭脸放在前边,一会儿把笑脸放在前边。

 

         这个很简单吧?至少听起来很简单。这里有两件事情需要搞清楚。第一,我们知道visio里的东西都是Shape,就是形状了,似乎印象中Shape是一个对象,Shape. BringToFront();就是放置在前边。这个解决Shape放置很容易了。第二,既然Shape是一个对象,那我们怎么知道哭脸是哪个对象,笑脸是哪个对象呢?这就存在一个Visio中的查找形状的问题。说实话这个问题真是讨厌,按照我的想法,因为Visio中每一个Shape都可以定义自己的形状数据(就是形状上按右键à数据à形状数据定义的东西),我只需要为哭脸定义一个形状数据,为笑脸定义一个形状数据,然后查找包含指定形状数据的形状,这样就可以确定了。

         简单说来就是这样的:

         foreach(每一个形状)

         {

                   如果形状.形状数据 = 指定的形状数据(例如哭脸或笑脸)

                   {

                            形状.BringToFront()

                            Break;

                   }

         }

 

 

怎么打开visio文件?

         恩,说了这么多,第一件事就是打开visio文件。C#操作visio

基于ASP.NET C#的Office Visio图形绘制程序开发 Microsoft Office Visio 是一款专业的图表绘制工具,广泛应用于企业流程建模、网络架构设计、组织结构图绘制等领域。其核心功能包括:丰富的模板库:提供流程图、网络图、UML图、数据流图等多种图形模板。拖放式绘图:支持图形元素的可视化拖拽操作,提升绘图效率。智能连接功能:自动对齐与连接形状,确保图形结构清晰、逻辑正确。集成性:可与Office其他组件(如Excel、PowerPoint)无缝集成,实现数据联动。 阅读详情

相关推荐

用C#编程调用Visio的COM接口,获取Visio图片信息

用C#编程调用Visio的COM接口,获取Visio图片信息,包括打开visio、打开模板、调用visio文件等。

C#2010对visio进行二次开发初始程序

自己参考一些资料编写的C#2010对visio二次开发,其中包含一个txt文档说明,另外代码注释比较全面,主要介绍如何进行visio二次开发的初始操作。我做的事例是基于故障树的,在visio——商务——故障树流程图里有,就引用到了winform里。 程序比较简陋,没有菜单之类的,只是简单的把drawing control控件添加进来了。 visio2007版本,visual studio2010版本。

C++开发的调用Visio的绘图软件源码

C++调用Visio,若要开发绘图软件,值得参考此源码

Tesseract OCR识别不准?手把手教你用PyAutoGUI提升自动点击脚本的准确率

本文针对Tesseract OCR在屏幕自动化中识别不准的问题,提供了一套完整的优化方案。通过PyAutoGUI精准截图、结合PIL和OpenCV进行图像预处理(如灰度化、对比度增强、自适应二值化),并调优Tesseract参数(如PSM模式、白名单),显著提升文本识别准确率。文章还介绍了结合模板匹配、构建容错循环等进阶技巧,帮助开发者打造高可靠性的自动点击脚本。

weixin_29093017的博客 544

SAP ABAP干货:用REUSE_ALV_GRID_DISPLAY_LVC实现ALV多屏幕独立布局(含handle参数详解)

本文详细解析了SAP ABAP中如何使用REUSE_ALV_GRID_DISPLAY_LVC函数实现ALV多屏幕独立布局,重点介绍了handle参数的技术原理和实际应用。通过变式标识符和LTDX表存储机制,开发者可以确保不同ALV报表屏幕的布局设置互不干扰,提升复杂报表场景下的用户体验。

weixin_29268267的博客 310

ANSYS Maxwell:创建即用型 3D 轴向磁通电机模型

Magnet Length” 是磁体的径向长度。“Magnet Thickness” 是磁体的轴向长度。为了对 AFM 进行更详细的分析,用户需要在 ANSYS Maxwell 中运行 3D FEA 分析。对于 2D 模型,它们类似于 MotorCAD 中的模型,后者对等效的直线电机进行建模。单击“确定”后,将创建一个 3D Maxwell 模型。“长度”是转子铁的轴向长度。然后需要定义定子的“磁芯”尺寸和材料。“长度”是定子铁芯的轴向长度。“转子”# 的极数必须与“定子”中定义的磁极相同。

jkh920184196的博客 1154

Android Qcom USB Driver学习(十三)

该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) Android Qcom USB Driver学习(八) Android Qcom USB Driver学习(九)deals with the USB Power Delivery resources used by one or more ports on the basis of the local device policy the basis of the local device policy.opera

Android驱动开发 2613

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 972

全面认识PFC和LLC

想象一下,你在拉一辆车,如果你的力气都用在推动车子前进的方向上,这样拉车会比较轻松。而如果你的力气用在不正确的方向,比如侧向、斜向,那就需要更大的力气才能推动车子。PFC就是在帮助电流“朝着正确的方向”流动,这样可以用更少的能量做更多的事情,减少无用的功率损耗。PFC负责将电流方向对齐,让电源效率更高,而LLC负责电压的高效转换,两者配合可以在更宽的负载范围内保持高效率。综上所述,PFC LLC电路是一种高效的电源转换电路,通过PFC模块和LLC模块的组合,实现了从交流电到直流电的高效转换。

weixin_43199439的博客 6098

ABAP 平台注册 OAuth 2.0 Client 的完整实践指南(覆盖 Authorization Code、SAML Bearer 与 PKCE)

本文详述了在ABAP平台上注册入站OAuth 2.0 Client的关键技术和操作要点。文章面向SAP技术人员,系统梳理了前置条件(TLS/SSL、技术用户、授权对象)、配置路径(SOAUTH2事务)、授权类型差异(授权码、SAML Bearer、PKCE)等重要内容。特别强调入站与出站配置的区别,并提供了保密客户端和公有客户端的配置指引。文中所有事务码和参数均参考SAP官方文档,包含多个实用案例和权限配置建议,为ABAP系统作为OAuth 2.0授权服务器的实施提供全面指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 297

2024年下半年网络规划设计师论文真题

3、深入论述自身参与的工业网络是如何实施的,为实现制造业的智能化,如何实现数据的跨系统互通,促进各种工业数据的充分流动和无缝集成以及数据安全。3、结合自身参与的网络建设,详细叙述针对该网络“去NAT”的规划和设计方案。4、在实施过程中遇到的问题以及如何处理,项目实施后的效果和评价。2、大型园区网络“去NAT”改造和业务融合的整体架构。1、“网络去NAT”对推进ipv6演进和应用的意义。4、改造过程中遇到的问题及解决方案。2、简要叙述自身参与的制造网络建设。1、网络规划在智能制造中的意义。

鹿鸣天涯 2366

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

下一篇: 学习C#操纵Visio之二:响应鼠标事件
puretech_
博客等级 码龄17年 52粉丝 18原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值