C#自定义事件之属性改变引发事件示例
发布时间 - 2026-01-11 02:19:14 点击率:次本文实例为大家分享了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何在景安服务器上快速搭建个人网站?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何在橙子建站中快速调整背景颜色?
Python并发异常传播_错误处理解析【教程】
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
Python高阶函数应用_函数作为参数说明【指导】
Python函数文档自动校验_规范解析【教程】
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
如何在IIS中配置站点IP、端口及主机头?
中山网站推广排名,中山信息港登录入口?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
香港服务器如何优化才能显著提升网站加载速度?
Windows Hello人脸识别突然无法使用
高防服务器如何保障网站安全无虞?
Laravel如何使用Blade组件和插槽?(Component代码示例)
EditPlus中的正则表达式 实战(4)
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何在云虚拟主机上快速搭建个人网站?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何在万网自助建站平台快速创建网站?
如何用y主机助手快速搭建网站?
高端建站如何打造兼具美学与转化的品牌官网?
详解Oracle修改字段类型方法总结
php json中文编码为null的解决办法
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何登录建站主机?访问步骤全解析
如何在Windows环境下新建FTP站点并设置权限?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
怎样使用JSON进行数据交换_它有什么限制
简历没回改:利用AI润色让你的文字更专业
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
如何快速生成可下载的建站源码工具?
如何在万网主机上快速搭建网站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何快速生成高效建站系统源代码?
Java解压缩zip - 解压缩多个文件或文件夹实例
香港服务器建站指南:免备案优势与SEO优化技巧全解析
网站页面设计需要考虑到这些问题
C#如何调用原生C++ COM对象详解
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
PHP正则匹配日期和时间(时间戳转换)的实例代码

