C Sharp中自定义事件在何处何时触发?

问题描述

自定义了一个新控件:label和textbox的组合控件。为其添加了的属性中有一个是MaxLength(最大字符数)。现定义两个事件:MaxLengthChanged,最大字符数改变时触发。MaxLengthArrived,新控件中的字符数已达MaxLength时触发。第一个事件:我在项目中添加了个TextBox用于用户设置新长度(默认长度为MaxLength=10),和一个Button按钮提交:if(txtNewLength.Text.Length!=0)ctlLabelTextBox1.MaxLength=Convert.ToUInt32(txtNewLength.Text.Trim().ToString());在自定义控件的属性MaxLength中我调用了事件的处理方法:publicuintMaxLength{get{//mLength已定义为uintreturnmLength;}set{if(mLength!=value){mLength=value;if(MaxLengthChanged!=null)MaxLengthChanged(this,newEventArgs());}textBox1.MaxLength=(int)mLength;}}处理完成。事件2MaxLengthArrived怎么处理?在何处处理?我想在新控件的Load事件中检测处理却不对:privatevoidctlLabelTextBox_Load(objectsender,EventArgse){label1.Text=this.Name;this.Height=textBox1.Height>label1.Height?textBox1.Height:label1.Height;MoveControls();if(textBox1.MaxLength==textBox1.Text.Length)if(MaxLengthArrived!=null)MaxLengthArrived(this,newEventArgs());}大家给我点帮助。

解决方案

解决方案二:
ctlLabelTextBox这个控件的textchange中判断吧
解决方案三:
eventdelegate

解决方案四:
控件的textchange中
解决方案五:
新控件ctlLabelTextBox的Event列表中没有textchanged事件。。。
解决方案六:
你的控件里不是由于label和textbox的组合的吗,textbox的textchanged事件,发生的时候检查字符数
解决方案七:
在TextBox的TextChanged的中检测处理成功了。谢谢tcshen0。严重表示感谢

时间: 2024-09-21 19:21:32

C Sharp中自定义事件在何处何时触发?的相关文章

wxpython中自定义事件的实现与使用方法分析_python

本文实例讲述了wxpython中自定义事件的实现与使用方法.分享给大家供大家参考,具体如下: 创建自定义事件的步骤: ① 定义事件类,该事件类必须继承自wx.PyCommandEvent,并定义get和set方法来获取和设置事件参数. ② 创建一个事件类型和一个绑定器对象去绑定该事件到特定的对象. ③ 创建自定义事件对象,设置事件参数,并且使用ProcessEvent()方法将这个实例引入事件处理系统. ④ 绑定自定义事件的event handler. ⑤ 在event handler中响应事件

JavaScript中自定义事件的学习笔记

在web前端开发中,很多人可能不会用到js的自定义事件,但如果是做一个相对来说比较大的项目,尤其是多人协同开发的时候,自定义事件就显得很重要了.那么,什么是js中的自定义事件呢?我们先来看一个例子: 前端开发员A封装了一个函数:  代码如下 复制代码 function move(){     alert(a);  //以此来代表N行代码 } 过段时间,前端开发员B要在A的基础上丰富这个函数,于是,他会这样写:  代码如下 复制代码 function move(){     alert(a); 

Nodejs中自定义事件实例_node.js

其实就是继承events的EventEmitter就可以了,然后就可以通过on去注册事件:emit去触发事件,removeListener去移除事件,简单例子如下: var util = require('util'); var Et = require('events').EventEmitter; function Ticker() { var self = this; setInterval(function(){self.emit("tick")},1000); } util.

Flash/Flex学习笔记(34):AS3中的自定义事件

类似C#中自定义事件需要一个自定义的EventArgs子类一样,AS3也需要开发者自定义一个Event类的子类,这里我们假设一种场景:设计一个Person(人物)类,里面有Age(年龄),Name(姓名),我们希望每当Person类的实例Age(年纪)发生变化时,能触发一些自定义事件,从而调用某些特定的处理方法. 1.先设计Event类的子类AgeChangeEvent package { import flash.events.Event; public class AgeChangeEven

jQuery自定义事件

在JS中,消息的通知是通过事件表达的,当代码库增长到一定的规模就需要考虑将行为和自定义事件进行解耦,通过事件机制可以将类设计为独立的模块,通过事件对外通信提高了程序的开发效率. 了解自定义事件的概念: 类似 DOM 的行为:你在 DOM 节点(包括 document 对象)监听并触发自定义事件.这些事件既可以冒泡,也可以被拦截.这正是 Prototype.jQuery 和 MooTools 所做的.如果事件不能扩散,就必须在触发事件的对象上进行监听. 命名空间:一些框架需要你为事件指定命名空间,

JavaScript使用自定义事件实现简单的模块化开发

WEB前端最常见驱动方式就是事件了, 所有交互等等都是通过事件,前端的常见事件有:     UI事件: 焦点事件: 鼠标事件: 滚轮事件: 文本事件: 键盘事件: 变动事件: 现在网页上有一个输入框, 如果我们要对用户输入的字符串进行过滤, 或者是截获用户的输入进行处理的话, 我们要肿么办  同学们纷纷举手说:"老师,我知道,是使用添加事件", 老师也很欣慰地点了点头, 这群家伙真的是越来越聪明了, 老师又问了"如果要取消用户的输入怎么办了", 坐在最前排眼睛最小的

JavaScript使用自定义事件实现简单的模...

 WEB前端最常见驱动方式就是事件了, 所有交互等等都是通过事件,前端的常见事件有: UI事件: 焦点事件: 鼠标事件: 滚轮事件: 文本事件: 键盘事件: 变动事件: 现在网页上有一个输入框, 如果我们要对用户输入的字符串进行过滤, 或者是截获用户的输入进行处理的话, 我们要肿么办 同学们纷纷举手说:"老师,我知道,是使用添加事件", 老师也很欣慰地点了点头, 这群家伙真的是越来越聪明了, 老师又问了"如果要取消用户的输入怎么办了", 坐在最前排眼睛最小的同学急忙

百度有啊前端框架分析(自定义事件)

      今天早晨从酒店出来,外面下着鹅毛大雪,我的妈呀,我来的时候只穿了一件秋衣,昨天晚上好像所有的天气预报都没有报告今天会下雪,我操,我们的天气预报的仙人们天天在那里说的跟真的一样,这不是骗人吗,但是也没有办法,只能自己想办法怎么能事自己变得更暖和些.          JavaScript中的事件也是如此,浏览器内置的事件不可能帮你把所有的事情都做了,因此遇到特殊事件,必须我们自定义把他实现,那么我们就来来看百度有啊前端JavaScript框架的自定义事件是如何实现的.        

jQuery中绑定事件的命名空间详解_jquery

在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间.事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释.但手册也仅仅是一句话就带 过去了.没有过多的深究,或许他认为命名空间这玩意很简单,没有必要多解释? 先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式.所有JavaScript事件对象, 比如focus, mouseover, 和 resize,都是可以作为type参数