知识大全 c# 实现自定义属性改变触发自定义事件

Posted 事件

篇首语:做好自己,不为别人的欣赏而存在,却为着自己的特色而活着。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 c# 实现自定义属性改变触发自定义事件相关的知识,希望对你有一定的参考价值。

  代码 内含说明(界面是两个文本框textbox textbox 和一个button 界面的Load事件 button的click事件) using System; using System Collections Generic; using System ComponentModel; using System Data; using System Drawing; using System Linq; using System Text; using System Windows Forms;

   namespace Test public partial class Form : Form public Form () InitializeComponent();

   //CustomClass cc = new CustomClass( "Lee");//测试属性值不变化的情况 CustomClass cc = new CustomClass();//空构造函数 一边测试属性值改变

   private void Form _Load(object sender EventArgs e) cc Changed += new CustomClass ChangedEventHandler(cc_Changed);//加载事件

  

   private void button _Click(object sender EventArgs e) cc Cid = ; cc Cname = "Lee";//给CustomClass的属性赋值 赋值是引发事件 string str = cc Cid ToString() + cc Cname; MessageBox Show(str);

   private void cc_Changed()//事件 textBox Text = cc Cid ToString(); textBox Text = cc Cname;

   public class CustomClass public delegate void ChangedEventHandler();//定义委托 public event ChangedEventHandler Changed;//定义事件 private int _Cid; private string _Cname;

   public CustomClass()

  

   public CustomClass(int cCid string cCname) this _Cid = cCid; this _Cname = cCname;

  

   protected virtual void OnChanged() if (Changed!=null) Changed();

   public int Cid get return _Cid; set if (_Cid!=value)//这里是文本改变时的处理 _Cid = value; OnChanged();//启动事件

  

   public string Cname get return _Cname; set if (_Cname != value) _Cname = value; OnChanged(); 以下是网上的一段非常经典的属性值改变引发自定义事件的例子 如下; public class MyClass public event EventHandler<PropertyChagedEventArgs> MyPropertyChanging; public event EventHandler<PropertyChagedEventArgs> MyPropertyChanged;

  private int _myProperty; public int MyProperty get return _myProperty; set if (value != _myProperty) PropertyChagedEventArgs e = new PropertyChagedEventArgs("MyProperty" _myProperty value);//初始化 if (this MyPropertyChanging != null) this MyPropertyChanging(this e); if (e Cancel) return; _myProperty = (int)e NewValue; if (this MyPropertyChanged != null) this MyPropertyChanged(this e);

  

  /// <summary> /// 通用的类 /// </summary> public class PropertyChagedEventArgs : EventArgs public PropertyChagedEventArgs(string propertyName object oldValue object newValue) PropertyName = propertyName; OldValue = oldValue; NewValue = newValue;

cha138/Article/program/net/201311/14416

相关参考

知识大全 PowerBuilder使用自定义事件触发键盘Enter事件

PowerBuilder使用自定义事件触发键盘Enter事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 JQuery的自定义事件代码,触发,绑定简单实例

JQuery的自定义事件代码,触发,绑定简单实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面

知识大全 c#自定义控件中事件的处理

  usingSystem; cha138/Article/program/net/201311/14278

知识大全 自定义事件实现不同窗体间的通讯C#篇

自定义事件实现不同窗体间的通讯C#篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中的事件

知识大全 自定义控件中使用枚举类型的属性

  在控件中定义枚举类型的属性  publicenumDTableStateSelectShowAddnew=SaveAddnew=ShowEdit=SaveEdit=Delete=Show=List

知识大全 javascript中自定义对象的属性方法分享

这篇文章介绍了在javascript中自定义对象的属性方法有需要的朋友可以参考一下   首先介绍下关联数组复制代码代码如下:<script>vartest=newObject()

知识大全 图学PowerBuilder---(自定义)事件

图学PowerBuilder---(自定义)事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC自定义过滤属性实现log功能

ASP.NETMVC自定义过滤属性实现log功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 C# 实现ListBox的Item自定义高度

C#实现ListBox的Item自定义高度  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 利用窗体的自定义属性实现窗体传值

  第步在解决方案上添加一个窗体Form;并添加textBoxtextBoxButton将Button的标题设为确定DialogResult属性设为OK  第步在窗体Form的类代