惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
B
Blog RSS Feed
小众软件
小众软件
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
WordPress大学
WordPress大学
月光博客
月光博客
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
量子位
V
Visual Studio Blog
罗磊的独立博客
Last Week in AI
Last Week in AI
The Cloudflare Blog
H
Help Net Security
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队

博客园 - 新悟空

通过微信公众号打开小程序 传参数给小程序 开放标签 的html 源代码 云开发的静态网站 VB6 Excel VBA 如何复制文件到剪贴板 的一个Bug修复 (用Windows API 来将文件/文件夹复制到剪贴板的源代码 ) VS2022 Blazor WebAssembly 发布前对自己的dll进行混淆 微信小程序 wx.getUserInfo 解密 C# 代码 简单的文件同步备份程序,仅支持单向同步_程序及源代码 Xilium.CefGlue CEF Chrome 自动上传文件不弹出对话框 CefDialogHandler 从红米手机经常发生UIM没有服务的一些猜想 为什么丰田的软件存在缺陷?(转) C# WebBrowser 网页缩放的方法 《ASP.NET的一些坑》的人造坑,真不是微软问题,是你的理解问题 批《对.net系统架构改造的经验教训》所犯的N个错误 乔布斯:遗失的访谈_文字版 WebApplication 完全编译即aspx不可修改,不包括设计内容的方法 .net 使用管道方式访问mySQL的连接字符串 从智能手机App来看C/S和B/S的区别在哪?(Web的技术本质) 会员充值消费管理系统 mysql 绿色版 安装的一些脚本 分库分表的设计思路让大系统变简单 下载 针式个人知识库管理软件 V9.08 版
通过反射绑定事件_Office Visio
新悟空 · 2014-04-03 · via 博客园 - 新悟空

花了好几个小时才Try出来,记录一下:

            //反射获取Visio.Application,此处没有判断是否有安装Visio
            mVisioType = System.Type.GetTypeFromProgID("Visio.Application");
            object oVisioApplication = System.Activator.CreateInstance(mVisioType);//打开Visio
            //反射获取Visio Application的Documents对象
            object oDocuments = mVisioType.InvokeMember("Documents", System.Reflection.BindingFlags.GetProperty, null, oVisioApplication, null);
            //事件
            //获取事件的下定义
            EventInfo documentOpenedEventInfo = mVisioType.GetEvent("DocumentOpened");
            MethodInfo documentOpenedMethod = this.GetType().GetMethod("DocumentOpened");//要为public,否则null

   //GetMethod("DocumentOpened")中的DocumentOpened为此类的一个方法,要为public,为private反射会null
            Delegate documentOpenedHandler = Delegate.CreateDelegate(documentOpenedEventInfo.EventHandlerType, null, documentOpenedMethod);
            documentOpenedEventInfo.AddEventHandler(oVisioApplication, documentOpenedHandler);//订阅事件