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
随机推荐
- Dos批处理常用命令大全扫盲篇
- JS实现六位字符密码输入器功能
- vbs向指定的文件添加内容的函数
- C#的winform控件命名规范
- 关于JavaScript 的事件综合分析第1/2页
- Js与下拉列表处理问题解决
- Elasticsearch.Net使用教程 MVC4图书管理系统(2)
- .net core 1.0 实现单点登录负载多服务器
- php mysql实现mysql_select_db选择数据库
- php的memcached客户端memcached
- ASP.NET在线文本编辑控件的使用(第6节)
- 漂亮MM vs 普通MM 幸福
- PHP实现对二维数组某个键排序的方法
- Java使用新浪微博API通过账号密码方式登陆微博的实例
- jQuery Mobile漏洞会有跨站脚本攻击风险
- jQuery基于排序功能实现上移、下移的方法
- Android判断SD卡是否已经挂载的方法
- 网络管理之网关
- DNS域名转换
- Thinkjs3新手入门之如何使用静态资源目录
