博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(CSharp)克隆控件事件
阅读量:5159 次
发布时间:2019-06-13

本文共 1542 字,大约阅读时间需要 5 分钟。

1 // https://stackoverflow.com/questions/6055038/how-to-clone-control-event-handlers-at-run-time 2 // "C:\Program Files (x86)\MSBuild\14.0\Bin\csc.exe" /t:winexe /out:cloneevents.exe cloneevents.cs && start "cloneevents.exe" cloneevents.exe 3 using System; 4 using System.ComponentModel; 5 using System.Reflection; 6 using System.Windows.Forms; 7  8 static class Program { 9     [STAThread]10     public static void Main(params string[] args){11         Application.Run(new Form1());12     }13 14     public static void CloneEvents(Control targetControl, Control activeContorl) {15         FieldInfo eventsField = typeof(Component).GetField("events", BindingFlags.NonPublic | BindingFlags.Instance);16         object eventHandlers = eventsField.GetValue(targetControl);17         eventsField.SetValue(activeContorl, eventHandlers);18     }19 }20 21 22 public class Form1 : Form {23     Button _btn1= new Button { Text = "btn1", Left = 20, Top = 10, Width = 180 };24     Button _btn2 = new Button { Text = "clone btn1's click event", Left = 20, Top = 40, Width = 180 };25 26     public Form1() {27         _btn1.Click+=(ss,se)=> MessageBox.Show(this, "btn1 is clicked.");28         _btn2.Click+=(ss,se)=> {29             Program.CloneEvents(_btn1, _btn2);30             MessageBox.Show(this, "Clone btn1's events OK!\nClick btn2 again.");31         };32         this.Controls.Add(_btn1);33         this.Controls.Add(_btn2);34         this.Width = 240;35         this.Height = 120;36     }37 }

 

转载于:https://www.cnblogs.com/Bob-wei/p/7281502.html

你可能感兴趣的文章
Java50道经典习题-程序28 排序算法
查看>>
Java基础---String类和基本数据类型包装类
查看>>
[NYOJ 37] 回文字符串
查看>>
C#-表达式树
查看>>
2.想起来的一点基础知识
查看>>
曾经踩过的坑--浏览器兼容-history
查看>>
centos7 Apache 2.4.6 多域名多网站配置
查看>>
MySQL性能优化
查看>>
建造者模式(Builder Pattern)
查看>>
程序开发的艺术
查看>>
对 Unity 碰撞器的相关调研
查看>>
linux 快速清空文件内容
查看>>
centos7安装配置jdk
查看>>
新年新气象
查看>>
webpack入门
查看>>
查看容器的挂载目录
查看>>
分布式系统(Distributed System)资料
查看>>
Android中LocalSocket使用
查看>>
【C++】各种成员变量
查看>>
【NOIP2009】靶形数独
查看>>