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

推荐订阅源

A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
月光博客
月光博客
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Visual Studio Blog
博客园 - 叶小钗
博客园 - 司徒正美
美团技术团队
博客园_首页
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News

博客园 - 新悟空

通过微信公众号打开小程序 传参数给小程序 开放标签 的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);//订阅事件