本文实例为大家分享了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#
# 事件
# 属性
# C#自定义事件模拟风吹草摇摆效果
# 在C#使用字典存储事件示例及实现自定义事件访问器
# C#自定义事件监听实现方法
# C#自定义事件及用法实例
# C#中自定义事件和委托实例
# asp.net中c#自定义事件的实现方法详解
# c#在程序中定义和使用自定义事件方法总结
# 大家分享
# 具体内容
# 大家多多
# Main
# string
# args
# Program
# static
# void
# Monitor
# Year
# PropertyChanging
# EventHandler
# m_PropertyChanging
# class
# brush
# csharp
# bool
# null
# pre
相关文章:
如何通过PHP快速构建高效问答网站功能?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
测试制作网站有哪些,测试性取向的权威测试或者网站?
黑客入侵网站服务器的常见手法有哪些?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何零基础开发自助建站系统?完整教程解析
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何实现建站之星域名转发设置?
如何通过智能用户系统一键生成高效建站方案?
如何访问已购建站主机并解决登录问题?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何在IIS中新建站点并解决端口绑定冲突?
宝塔新建站点报错如何解决?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何快速生成橙子建站落地页链接?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
建站主机选哪种环境更利于SEO优化?
详解jQuery中基本的动画方法
建站之星3.0如何解决常见操作问题?
大连网站设计制作招聘信息,大连投诉网站有哪些?
b2c电商网站制作流程,b2c水平综合的电商平台?
韩国服务器如何优化跨境访问实现高效连接?
如何快速上传自定义模板至建站之星?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
建站之星收费标准详解:套餐费用及年费价格表一览
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星24小时客服电话如何获取?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
如何通过免费商城建站系统源码自定义网站主题与功能?
如何通过二级域名建站提升品牌影响力?
魔方云NAT建站如何实现端口转发?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
建站之星下载版如何获取与安装?
如何配置支付宝与微信支付功能?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
网站制作报价单模板图片,小松挖机官方网站报价?
Android自定义控件实现温度旋转按钮效果
宝塔新建站点为何无法访问?如何排查?
如何选择适合PHP云建站的开源框架?
如何在建站之星绑定自定义域名?
C#如何使用XPathNavigator高效查询XML
如何在Windows虚拟主机上快速搭建网站?
定制建站方案优化指南:企业官网开发与建站费用解析
沈阳制作网站公司排名,沈阳装饰协会官方网站?
网站图片在线制作软件,怎么在图片上做链接?
如何在阿里云完成域名注册与建站?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何选择高效便捷的WAP商城建站系统?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
*请认真填写需求信息,我们会在24小时内与您取得联系。