解决方案:C# 当按钮不可见时(Visible=False),调用Button.PerformClick事件无效!
解决方案:C# 当按钮不可见时(Visible=False),调用Button.PerformClick事件无效!
解决方案 获取原按钮实例的Click事件,使用Invoke方式执行Click事件委托。 C# Code: SimpleButton originalButton = (SimpleButton)GetButton((sender as SimpleButton).Tag.ToString()); //当originalButton不可见时,调用PerformClick事件无效! //if (originalButton != null) originalButton.PerformClick(); //解决方案:获取原按钮实例的Click事件,使用Invoke方式执行Click事件委托 System.Reflection.PropertyInfo propertyInfo = (typeof(Control)).GetProperty("Events", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); System.Reflection.FieldInfo fieldInfo = (typeof(Control)).GetField("EventClick", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(originalButton, null); Delegate method = eventHandlerList[fieldInfo.GetValue(null)]; if (method != null) { //委托的调用列表 var list = method.GetInvocationList(); if (list.Count() == 1) { originalButton.Invoke(method, sender, e); } else { //若有多个Click事件,依次调用 foreach (Delegate d in list) originalButton.Invoke(d, sender, e); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
C#.Net局域网版本自动升级解决方案(原创) C# Winform 开发框架 - 业务单据附件管理解决方案(原) C#.NET C/S结构版本自动升级解决方案之流程图 C#.NET C/S结构版本自动升级解决方案之自我替换 WebAPI无法编译appBuilder.UseWebApi方法不存在解决方案 VS解决方案专业改名工具 CSFramework.Rename V1.0 - C#版 解决方案:启动WebApiServer失败,调用的目标发生了异常 解决方案:扩展按钮自定义权限没有出现在权限树给用户勾选 VS解决方案快速改名工具(CSFramework.Rename)-获取文件列表BUG C# 定义类的属性名称与VS 保留关键字标识符冲突解决方案 C# TreeView组件TreeNode节点自动勾选解决方案(TreeViewNodeCheckHander) VS.NET 窗体继承 - 按钮组件隐藏或位置不正确解决方案 C#源代码安全缺陷与提高源代码质量解决方案 C# 调用Process.Start 请求的操作需要提升解决方案 C#源代码安全缺陷与提高源代码质量解决方案-WCF服务配置安全
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |