(CSharp)克隆控件事件

// 假设有 button1 和 button2 两个按钮,下面代码实现从 button1 克隆事件到 button2
// 原文:https://stackoverflow.com/questions/6055038/how-to-clone-control-event-handlers-at-run-time
FieldInfo eventsField = typeof(Component).GetField("events", BindingFlags.NonPublic | BindingFlags.Instance);
object eventHandlers = eventsField.GetValue(button1);
eventsField.SetValue(button2, eventHandlers);
时间: 2024-10-11 05:29:12

(CSharp)克隆控件事件的相关文章

.net控件事件中的Sender

private void button2_Click(object sender, RoutedEventArgs e) { } 最近看WPF内容,回顾下.net大家天天都在用,却不是十分关注的一个对象----sender 问:sender到底是什么呢? 答:所有的服务器控件中事件都会有(可能说的太绝对,应该说大多会吧),sender指的是触发事件的控件. private void button2_Click(object sender, RoutedEventArgs e) { Button

WPF系列之二:解耦View层控件事件与ViewModel层事件的响应

以前的做法: 1.当项目的时间比较紧迫的时候,对UI层中控件的事件的处理,往往采取的是类似Winform中最简单的做法,直接做一个事件的Handler直接去调用VM层的方法. 2.控件只有一个Command属性,其它的事件的处理方法没有办法和ViewModel层进行解耦的时候往往也采取上面提到的方法. 如下图所示: 新的做法: 为了实现事件的处理与View层的解耦,我们可以利用WPF提供的附加属性来为需要的事件添加附加行为.附加属性扮演了一个在View层与Model层牵线的角色. 需要下面三个步

抓取第三方广告弹窗里的控件事件-测试成功

由于应用里面添加了弹窗的广告,但是为.a的库文件,出于好奇想抓取弹窗广告内的控件事件,于是写了如下代码测试,成功! for (id obj in [[[UIApplication sharedApplication] keyWindow] subviews]) { NSLog(@"Class Name[%s]", object_getClassName(obj)); NSString * str = [NSString stringWithFormat:@"%s",

ASP.NET用户控件事件的定义和实践

假定用户控件(UserControl.ascx)中包含按钮控件  AButton,希望实现按  Button  按钮时,包含该用户控件的页面可以接收到事件. UserControl.ascx.cs  中的处理: 1. 定义  public  的事件委托,如  ClickEventHandler; 2. 在  UserControl  类中声明事件,如  Click; 3. 在  UserControl  类中定义引发事件的方法,如  OnClick()方法; 4. 在  UserControl 

Android开发之解决父控件拦截子控件事件问题

以ViewPager为例: 1 public class TopNewsViewPager extends ViewPager { 2 public TopNewsViewPager(Context context) { 3 super(context); 4 } 5 6 public TopNewsViewPager(Context context, AttributeSet attrs) { 7 super(context, attrs); 8 } 9 10 //重写这个方法,并且在方法里面

C#控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件... 7 7.GroupBox 控件... 7 8.RadioButton控件... 8 9.CheckBox 控件... 8 10.ListBox 控件... 9 11.ComboBox 控件... 10 12.CheckedListBox 控件... 10 13.Pict

WPF 控件事件的一个小坑…

最近想判断一下 Slider 是由鼠标点击而改变值,还是由程序内部代码改变的值,发现鼠标的各种事件比如 MouseDown.MouseUp.MouseLeftButtonDown 什么的,都没有任何反应,很是无奈- 搜索了一下,发现 WPF 中的有些控件,会将一些事件自己给 Handled,导致我们之间添加事件无效... 不过可以通过在父元素上调用 AddHandler 方法,来为子元素添加事件. 这个方法有两个重载,这里最主要的是要用到这个重载的参数: public void AddHandl

FineReport——JS监听其他控件事件

首先在参数面板和报表中分布添加一个button,用于被监听: 参数面板 控件名:temp: temp点击事件:alert("temp"); 报表 控件名:exprt: temp点击事件:alert("exprt"); 再次在参数面板和报表中添加一个按钮,可不命名: 在参数面板的按钮控件的点击事件中添加如下代码: this.options.form.getWidgetByName("temp").fireEvent('click'); //参数面板

Android实例-手机安全卫士(八)-自定义组合控件事件相应和改变状态

一.目标. 实现自定义控件点击事件响应和内容状态变化. 1.点击自定义控件内的任何区域时,CheckBox状态均会变化. 2.自定义控件里面的内容会根据CheckBox的状态进行改变. 效果图1:      二.代码实现. 1.在自定义控件类(SettingItemView)中增加方法. ①.在自定义控件类对应的xml文件(SettingItemView)中设置各个控件的id,便于自定义控件类(SettingItemView)对它们进行操作.同时,设置CheckBox的clickable属性为f