重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“C#自定义事件之属性改变引发事件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#自定义事件之属性改变引发事件的示例分析”这篇文章吧。
公司主营业务:网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出扎赉诺尔免费做网站回馈大家。
具体内容如下
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication15 { class Program { static void Main(string[] args) { Monitor m = new Monitor(); m.PropertyChanging += new Monitor.EventHandler(m_PropertyChanging); m.Year = 2014; m.Year = 1890; m.Year = 2013; } static bool First=false; static void m_PropertyChanging(object sender, PropertyChangingEventArgs e) { if (First==false) { First = true; } else { if (e.NewValue < 1900 || e.NewValue > 3000) e.Cancel = true; } } } //(属性正在改变的时候)事件数据 class PropertyChangingEventArgs : EventArgs { //构造函数 public PropertyChangingEventArgs(string PropertyName, int OldValue, int NewValue) { _PropertyName = PropertyName; _OldValue = OldValue; _NewValue = NewValue; } //存储数据 private string _PropertyName; private int _OldValue; private int _NewValue; private bool _Cancel; //获取或设置属性 public string PropertyName { set { _PropertyName = value; } get { return _PropertyName; } } public int OldValue { set { _OldValue = value; } get { return _OldValue; } } public int NewValue { set { _NewValue = value; } get { return _NewValue; } } public bool Cancel { set { _Cancel = value; } get { return _Cancel; } } } class Monitor { //定义委托 public delegate void EventHandler(object sender, PropertyChangingEventArgs e); //定义事件 public event EventHandler PropertyChanging; //事件处理(用属性方法) int _YearValue; public int Year { get { return _YearValue; } set { if (_YearValue != value) { if (PropertyChanging != null) { PropertyChangingEventArgs e = new PropertyChangingEventArgs("Year", _YearValue, value); PropertyChanging(this, e); if (e.Cancel) { return; } else { _YearValue = value; } } } } } } }
以上是“C#自定义事件之属性改变引发事件的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!