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

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

 更新時間:2017年07月13日 11:28:55   作者:cnc  
這篇文章主要為大家詳細(xì)介紹了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)文章

最新評論

五峰| 会宁县| 崇义县| 新民市| 阜阳市| 贺兰县| 丰城市| 宝丰县| 读书| 莎车县| 中西区| 满城县| 密云县| 海宁市| 锡林郭勒盟| 景东| 凌源市| 永清县| 永平县| 东安县| 昆山市| 葵青区| 浦县| 宜良县| 呈贡县| 南昌县| 滨海县| 克拉玛依市| 莱西市| 松阳县| 景洪市| 青田县| 井研县| 砚山县| 运城市| 巴中市| 怀远县| 徐水县| 滕州市| 金沙县| 屏边|