C#学习:事件

C#学习日记:事件 class Hoter { public event Action<int> dian;//声明一个事件 public int WaterT = 0;//水温 public void Addhot()//方法:水温开始隔一段时间加热 { int count = 0; while (true) { if (count%99... 阅读详情

        类或对象可以通过事件向其他类或对象通知发生的相关事情。 发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订阅者”。

  • 一个简单事件实例
        //发行者
        public class Student
        {
            private string name;
    
            //定义一个带参委托
            public delegate void DelegateRegisterFinish(string name);
            //定义一个事件
            public event DelegateRegisterFinish EventRegisterFinish;
    
            public Student(string name)
            {
                this.name = name;
            }
    
            //在一定条件下,发行者发布事件
            public void Register()
            {
                Console.WriteLine("学生{0}进行注册", name);
                if (EventRegisterFinish != null)
                    EventRegisterFinish(name);
            }
        }
        //订阅者
        class RegisterStudent
        {
            static void Main(string[] args)
            {
                Console.WriteLine("输入学生姓名:");
                string studentName = Console.ReadLine();
                Console.WriteLine("--------------------------------------");
    
                Student student = new Student(studentName);
    
                //为静态方法student_EventRegisterFinishOne订阅事件
                //C#1.0语法
                student.EventRegisterFinish += new
                    Student.DelegateRegisterFinish(student_EventRegisterFinishOne);
                //C#2.0语法
                //student.EventRegisterFinish += student_EventRegisterFinishOne;
    
                //为RegisterStudent实例对象的student_EventRegisterFinishTwo方法订阅事件
                //本处其实利用多路广播委托为多个方法订阅事件
                RegisterStudent rs = new RegisterStudent();
                student.EventRegisterFinish += rs
                    .student_EventRegisterFinishTwo;
    
                //发行者发布事件后订阅者做相应的操作
                student.Register();
    
                Console.WriteLine("--------------------------------------");
                //取消订阅
                student.EventRegisterFinish -= rs
                    .student_EventRegisterFinishTwo;
                student.Register();
    
                Console.Read();
            }
            private static void student_EventRegisterFinishOne(string name)
            {
                Console.WriteLine("{0}注册成功", name);
            }
            private void student_EventRegisterFinishTwo(string name)
            {
                Console.WriteLine("{0}请及时领取住宿用品", name);
            }
        }

    结果:

 

学习C#操纵Visio之二:响应鼠标事件          上一个程序已经可以形成动画效果。本节将讲述如何响应鼠标,例如响应鼠标左键,在笑脸上按一下就变脸,笑脸变哭脸,哭脸变笑脸。         Visio提供了鼠标处理事件,可以在C#中直接定义响应函数,然后就可以在程序中响应Visio的鼠标事件。         例如:              EApplication_MouseDownEventHandler ame 阅读详情

相关推荐

C#基础学习:窗体与事件嵌入式

通过上述示例,我们可以看到在C#中创建窗体和处理事件是相对简单的。在窗体类中,我们可以定义各种控件,如按钮(Button)、文本框(TextBox)和标签(Label)。要将按钮添加到窗体中,我们可以在窗体设计器中拖拽一个按钮控件(Button)到窗体上,或者手动在代码中添加一个按钮控件。方法中,我们可以编写在窗体加载时执行的代码。在窗体中,还可以添加其他控件,并为它们定义各种事件处理程序。方法中,我们编写了按钮点击事件的处理代码。方法,该方法是自动生成的,并用于初始化窗体的各个控件。

PixelPusher的博客 182

谈C#中的Delegate

引言     Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理。这两天,我再度翻阅了一些关于Delegate的资料,并开始正式整理这个C#中著名的特性。本文将由浅入深的谈一下Delegate这个特性。 一.Delegate是什么?     Delegate中文翻译为“委托”。Msdn中对Delega...

weixin_34203426的博客 938

公文派2025:免费社区版重大安装更新!

距离上一次更新已经过去了将近一年的时间,今天我们带来了全新的免费2025社区版,该版本也是目前最新的版本,无需授权即可使用所有的功能。

似最初 1964

C#基础 string PadLeft 在字符串前、后加入指定字符,达到指定长度

 .NET Framework : 4.7.2        IDE : Visual Studio Community 2019         OS : Windows 10 x64     typesetting : Markdown         blog : blog.youkuaiyun.com/yushaopu        gi...

心少朴 1795

使用单片机和电流互感器对非正弦周期电流有效值测定

使用单片机和电流互感器,利用一种高速采样的方法来进行有效值测定

月光绿叶滴水音乐 3946

Python+ArcGIS实战:5步搞定土壤类型预测(附随机森林模型配置技巧)

本文详细介绍了如何结合Python与ArcGIS,利用随机森林模型进行土壤类型预测。通过5个核心步骤——数据预处理、样本创建、模型构建、空间预测与精度验证,构建了一套自动化、高精度的空间预测工作流,并提供了关键的模型配置与调参技巧,助力GIS开发者高效完成土壤制图任务。

weixin_29227585的博客 396

C#学习 九:事件

目录初始事件定义角色使用原理提示事件的应用实例演示事件模型的五个组成部分注意 初始事件 定义 单词Event,翻译为“事件” 通俗的解释为:能够发生的什么事情 角色 使对象或类具备通知能力的成员 事件是一种使对象或类能够提供通知的成员 使用 用于对象或类间动作的协调与信息传递(消息推送) 原理 事件模型(event model)中的两个“5” “发生-响应”中的5个部分——闹钟响了你起床、孩...

qq_43042445的博客 198

JetBrains Air:多Agent协同的IDE运行时架构解析

IDE智能编程正从单模型增强迈向多Agent协同范式。多Agent架构通过职责分离、上下文精简与运行时隔离,显著提升代码生成稳定性与合规性;其核心依赖轻量级嵌入式运行时(如ARL),支持AST级内存共享、eBPF安全拦截与毫秒级冷启动。该架构天然适配本地化部署、离线开发与高安全合规场景(如PCI-DSS、金融内网),并为Java/Python/TS等语言提供可扩展的规则驱动开发流水线。JetBrains Air正是这一技术路径的工程化落地代表。

weixin_30443075的博客 572

C#学习第14天:Event事件

C#中Event的使用,以及自定义事件的范例

ghost143的博客 677

自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应

自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应 一般情况下,我们都是在 dialog 里面 放一个 list 控件,然后 用自己的类绑定自己的自绘对象,如同下面: 1.  在 dialog 里面 加一个 list 列表 2. 然后 绑定这个列表 哈哈...

mfreesky的专栏 2171

2025年情感分析(SA)综述——论文阅读报告

2025年情感分析(SA)综述——论文阅读报告

Samdy_L的博客 2088

C#学习笔记8:接口、委托、事件

今日继续我的C#学习之路,今日学习接口、委托、事件 文章从实践出发学习这三个设计理念,并提供完整源码

NULL指向我的博客 1992

js逆向-逆向部分技巧总结

js逆向-逆向部分技巧总结

Deng872347348的博客 2133

C#学习:事件处理与定义事件 《自学系列》记录

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Timers; namespace 事件处理 { class Program { static int 计数

浤济的专栏 189

微信小程序 - 实现身份证OCR识别人像面与国徽面并提取字段信息,详解从手机相册选取或打开摄像头拍照上传身份证正反面图片ocr文字识别数据填充表单(提供免费纯前端ocr识别插件+百度OCR识别API)

微信小程序身份证识别,微信小程序身份证拍照、上传并OCR识别,微信小程序实现OCR扫描识别,微信小程序识别身份证免费插件,微信小程序实现身份证识别功能。ocr识别插件。微信身份证拍照后进行ocr识别,微信小程序OCR扫描识别身份证,OCR身份证实名认证+图片上传+拍照上传图片,微信小程序之身份证照片正反上传,小程序OCR身份证识别,微信小程序实现文字识别-ocr插件,微信小程序利用百度AI实现扫描身份证获取信息功能,基于微信小程序OCR插件实现身份证拍照、上传并OCR识别的示例demo,将上传的照片传到服务

🏆 前端领域优质创作者 8139

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C#学习笔记:事件与委托

参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安) 学习目的:掌握事件与委托的用法,定义一个委托类型,作为响应按下空格键这一事件。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; u...

qq_41708281的博客 235

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第20节:C# 委托与事件学习

代码:   //主程序启动类 /**************************  *   *  委托的测试类  * ***********************/ using System; using System.Collections.Generic; using System.Text; namespace 委托与事件认识 {     class Test     {   ...

haibing_zhao的博客 159

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C#学习:事件处理与定义事件

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Timers; namespace 事件处理 { class Program { static int 计数

浤济的专栏 369

C#学习笔记:Windows窗体——共享事件的处理

参考书目:C#6.0学习笔记——从第一行C#代码到第一个项目设计(作者周家安)P314 学习目标:建立一个Windows窗体,掌握共享事件的处理 第一步:建立一个Windows窗体应用程序项目。 第二步:摆放三个button控件和一个label控件,设置如下:(其中label文本设置为空,所以看不到) 第三步:同时选中三个button,在右侧的事件窗口中,手动输入事件名称:OnButt...

qq_41708281的博客 651

head first C#学习笔记:如何创建事件以及事件处理程序

编写一个棒球模拟系统。要达到的效果:输入棒球的轨迹和距离,输出其他对象的响应(投球手能否接到球,现场观众如何反应,裁判如何反应等。) 在创建这个事

cliney99的博客 706

C#学习第十二课:事件

事件不会自己触发,他是靠事件拥有者的内部逻辑触发1.1、事件的拥有者(event source)一个对象1.2、事件本身(event)一个成员1.3、事件的响应者(event subscribe)一个对象1.4、事件处理器(event handle)一个成员,本质上是一个回调方法1.5、事件订阅:把事件与事件处理器关联起来 2、事件的响应者和事件的拥有者没有关系 3、事件的拥有者和时间的响应者是同一个 4、事件的拥有者是事件的响应者的一个字段,且事件的响应者订阅自己的一个字段

m0_57445579的博客 64

C#学习笔记之二:事件

关键字:event  特定类型:EventHandler,EventArgs(都位于System命名空间中) 1.事件是什么? (1)类成员的一种。委托类型。 (2)涉及两方:事件的发布者(可以定义一个事件并触发事件),事件的订阅者(相应特定事件并作出相应操作的类) 2.怎样使用事件? (1)声明一个事件 public (static) event EventHand

代码猫的理想世界 542

学习笔记:C# Event 事件(一)

在类中,属性用来储存数据,方法用来进行逻辑运算,事件会使对象或者类具备通知能力的成员,用于对象或类间的动作协调和信息传递(消息推送) 所以说,事件在类中,和类中其它成员的地位是一致的。而区别于委托,委托和类的地位是相同的,委托也是类,是数据类型。 事件的功能 = 通知+可选事件参数(即详细信息) 事件多用于桌面,手机等开发的客户端编程,因为这些程序经常是用户通知事件来驱动(比如点击按钮等,按钮本质就是用事件模型实现的) 不同的语言实现事件模型的方法不同:C#用委托实现,Java用接口实现等等。。 MVC,M

akuojustdoit的博客 641

C#系列学习笔记7:委托与事件

委托与事件delegateevent delegate 委托相当于c/c++中的函数指针,用于实现 event 和 回调函数,所有的委托都继承自System.Delegate public delegate void Del(string message); // 定义了一个可以调用任何形参为string、无返回的委托 public void Print(string message){ Console.WriteLine( message ); } Del handler1 = new D

weixin_41677058的博客 206

学习:C# 中的委托和事件(转)

源码下载:http://www.tracefact.net/SourceCode/Delegates-and-Events-in-CSharp.rar引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真 是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(bi...

diaodi4538的博客 121
上一篇: C#学习:委托
下一篇: 发布符合 .NET Framework 准则的事件
云喜君
博客等级 码龄19年 2粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值