C#中控件动态添加事件绑定的时机详解
前言
最近遇到个小问题,要为几十个文本框添加相同的失去焦点事件,常规的办法是在VS的事件管理器里面添加,但那样太繁琐了,几十个文本框,要加几十遍,这行不通。
于是想到动态绑定,第一次尝试如下:
foreach(TextBox tbx in tbxs){ tbx.Leave += new EventHandler(tbxN_Leave); } public void tbxN_Leave(object sender, EventArgs e) { MessageBox.Show("Leave"); }
但是没有效果。怎么回事呢?网上都是这么写的啊...
实现方法
再查,是不是绑定语句的位置问题?仔细看了看,我把绑定的语句写在了FormMain_Load方法中,于是换个思路,把绑定语句写到构造方法中:
public FormMain() { InitializeComponent(); //... //绑定随时保存倒计时信息的事件 foreach (TextBox tbx in tbxs) { tbx.Leave += new EventHandler(tbxN_Leave); } }
绑定成功,问题解决!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
C#移除所有事件绑定的方法
本文实例讲述了C#移除所有事件绑定的方法.分享给大家供大家参考.具体分析如下: private delegate int DEL_TEST_EventHandler(int m, int n); private event DEL_TEST_EventHandler DelTestEventHandler; /// <summary> /// 移除所有的事件绑定 /// </summary> /// <param name="clearEvent">
-
C#中控件动态添加事件绑定的时机详解
前言 最近遇到个小问题,要为几十个文本框添加相同的失去焦点事件,常规的办法是在VS的事件管理器里面添加,但那样太繁琐了,几十个文本框,要加几十遍,这行不通. 于是想到动态绑定,第一次尝试如下: foreach(TextBox tbx in tbxs){ tbx.Leave += new EventHandler(tbxN_Leave); } public void tbxN_Leave(object sender, EventArgs e) { MessageBox.Show("Leave&qu
-
微信小程序 页面跳转事件绑定的实例详解
微信小程序 页面跳转事件绑定的实例详解 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, dataset, touches. 在组件中绑定一个事件处理函数. 如bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数 <view bindtap="view"> <text bindtap
-
JS中动态添加事件(绑定事件)的代码
两种方式:直接给对象添加事件,节点添加事件 例如给一个id为tab1的添加onclick事件 第一种情况: 复制代码 代码如下: var t = document.getElementById("tab1"); t.onclick = function tst(){ alert(''); } 第二种情况 复制代码 代码如下: var tb = document.getElementById("tab1"); if(window.addEventListener){
-
如何将HTML字符转换为DOM节点并动态添加到文档中详解
前言 将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术. 字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 字符串转换为HTML DOM节点的基本方法及性能测试 2 动态生成的DOM节点添加到文档中的方法及性能测试 本文的示例: 有如下代码段 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &
-
React事件绑定的方式详解
一.是什么 在react应用中,事件名都是用小驼峰格式进行书写,例如onclick要改写成onClick 最简单的事件绑定如下: class ShowAlert extends React.Component { showAlert() { console.log("Hi"); } render() { return <button onClick={this.showAlert}>show</button>; } } 从上面可以看到,事件绑定的方法需要使用{}
-
vue的事件绑定与方法详解
一.在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我们可以这样子做 window.onload = function () { var c = new Vue({ el : 'body', methods : { say : function(){ alert( '欢迎学习vue' ); } } }); } <input type="button" value="点我" v-on:click="say();"/>
-
ASP.NET 页面中动态增加的控件、添加事件第1/2页
要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在RaisePostbackEvent时触发的,这意味着点击事件在OnLoad阶段之后才执行,远远落后于 OnInit阶段,而且ViewState在OnLoad时才准备好,OnInit以及之前的阶段根本就不能使用ViewState!如果试图在按钮点击事件里面创建WebPartZone等控件,唯一的后果就
-
老生常谈js动态添加事件--- 事件委托
其所谓的动态添加事件实质就是指js中的事件委托. 我们知道在js中,事件处理只能绑定在当前被选中的元素上,换句话也就是说,事件处理只能绑定在当前文档已经存在的元素上!但是,往往小伙伴们都会遇到一个问题就是,我的元素是后来动态添加到页面的,而我又想给该元素绑定事件,怎么处理? 为了说明白这一问题,我们假设需要给后来添加到当前页面的元素添加click事件. 解决这一问题的核心就是利用js的委托事件.委派事件的优势就是可以给未存在的元素绑定事件,而且委派事件往往开销也会更小! 题外话:举一个最简单的例
-
JavaScript动态添加事件之事件委托
先给大家讲下什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件. 也就是:利用冒泡的原理,把事件加到父级上,触发执行效果. 其所谓的动态添加事件实质就是指js中的事件委托. 我们知道在js中,事件处理只能绑定在当前被选中的元素上,换句话也就是说,事件处理只能绑定在当前文档已经存在的元素上!但是,往往小伙伴们都会遇到一个问题就是,我的元素是后来动态
-
对Vue.js之事件的绑定(v-on: 或者 @ )详解
1.Vue.js事件绑定的一般格式 v-on:click='function' v-on:click/mouseout/mouseover/ @click 2.Vue.js事件绑定的实现 2.1 JavaScript代码 <script type="text/javascript" src="../js/vue-1.0.21.js"></script> <script type="text/javascript"&g
随机推荐
- Angular2关于@angular/cli默认端口号配置的问题
- 详解Linux命令中的正则表达式
- 巧用replace将文字表情替换为图片
- 详解AngularJS ng-class样式切换
- Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
- Javascript基础教程之JavaScript语法
- JS正则表达式大全(整理详细且实用)
- Linux 中Tomcat远程调试代码的实现方法
- Windows2003下批量添加和导出所有ip BAT脚本
- .NET中用ICSharpCode.TextEditor自定义代码折叠与高亮
- 使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
- 使用rst2pdf实现将sphinx生成PDF
- 用c#获得当前用户的Application Data文件夹位置
- C语言用栈实现十进制转换为二进制的方法示例
- smarty实现PHP静态化的两种方法分享
- jQuery 跨域访问问题解决方法
- JS实现的数字格式化功能示例
- PHP中使用localhost连接Mysql不成功的解决方法
- jQuery实现仿微软首页感应鼠标变化滑动窗口效果
- 使用jquery提交form表单并自定义action的方法