最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#自定義事件之屬性改變引發(fā)事件示例

 更新時間:2017年07月13日 11:28:55   作者:cnc  
這篇文章主要為大家詳細介紹了C#自定義事件之屬性改變引發(fā)事件示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C#屬性改變引發(fā)事件示例的具體代碼,供大家參考,具體內(nèi)容如下

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;
   }
  }
 }

 //(屬性正在改變的時候)事件數(shù)據(jù)
 class PropertyChangingEventArgs : EventArgs
 {
  //構(gòu)造函數(shù)
  public PropertyChangingEventArgs(string PropertyName, int OldValue, int NewValue)
  {
   _PropertyName = PropertyName;
   _OldValue = OldValue;
   _NewValue = NewValue;
  }

  //存儲數(shù)據(jù)
  private string _PropertyName;
  private int _OldValue;
  private int _NewValue;
  private bool _Cancel;

  //獲取或設(shè)置屬性
  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;
      }
     }
    }
   }
  }
 }

}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

尉犁县| 四川省| 育儿| 汶上县| 东源县| 佛教| 鄂伦春自治旗| 微博| 宜兰市| 博乐市| 库伦旗| 云龙县| 盈江县| 金昌市| 泾源县| 柘荣县| 枞阳县| 福建省| 米脂县| 额尔古纳市| 邻水| 三江| 遂昌县| 祁连县| 苏尼特右旗| 高平市| 江口县| 荔浦县| 大连市| 丹棱县| 深泽县| 玛曲县| 怀远县| 枣阳市| 呼玛县| 抚顺县| 新津县| 滦南县| 绩溪县| 枣庄市| 体育|