C# 事件(Event)应用说明二

简单示例如下

一.界面显示:

二.源代码示例:

cs 复制代码
        // 定义一个委托类型,用于事件处理程序
        public delegate void MyEventHandler(object sender, EventArgs e);

        // 发布者类
        public class ProcessBusinessClass
        {
            // 声明事件
            public event MyEventHandler ProcessCompleted;

            // 触发事件的方法
            protected virtual void OnProcessCompleted(EventArgs e)
            {
                ProcessCompleted?.Invoke(this, e);
            }

            // 模拟业务逻辑过程并触发事件
            public void StartMyEvent()
            {
                //Console.WriteLine("Process Started!");
                MessageBox.Show("事件触发开始");

                // 这里可以加入实际的运算逻辑的代码

                // 业务逻辑完成,触发事件
                OnProcessCompleted(EventArgs.Empty);
            }
        }

        // 订阅者类
        public class EventSubscriberClass
        {
            public void SubMyEvent(ProcessBusinessClass process)
            {
                process.ProcessCompleted += Process_ProcessCompleted;
            }

            private void Process_ProcessCompleted(object sender, EventArgs e)
            {
                
                MessageBox.Show("事件被执行!");
            }
        }


            private void DoSomething()
            {
                ProcessBusinessClass process = new ProcessBusinessClass();
                EventSubscriberClass subscriber = new EventSubscriberClass();

                // 订阅事件
                subscriber.SubMyEvent(process);

                // 启动过程
                process.StartMyEvent();

               
            }

        private void button18_Click(object sender, EventArgs e)
        {
            DoSomething();
        }

简单示例,大家参照理解,一起学习。。。。。。

相关推荐
JohnFF5 分钟前
48. 旋转图像
数据结构·算法·leetcode
bbc1212265 分钟前
AT_abc306_b [ABC306B] Base 2
算法
满怀10158 分钟前
Python入门(5):异常处理
开发语言·python
攀小黑11 分钟前
Java 多线程加锁 synchronized 关键字 字符串当做key
java·开发语言
生锈的键盘13 分钟前
推荐算法实践:movielens数据集
算法
董董灿是个攻城狮14 分钟前
Transformer 通关秘籍9:词向量的数值实际上是特征
算法
专注VB编程开发20年15 分钟前
Aspose.words,Aspose.cells,vb.net,c#加载许可证,生成操作选择:嵌入的资源
c#·word·.net·vb.net
每次的天空21 分钟前
Kotlin 作用域函数:apply、let、run、with、also
android·开发语言·kotlin
代码AC不AC22 分钟前
【数据结构】队列
c语言·数据结构·学习·队列·深度讲解
林泽毅22 分钟前
SwanLab x EasyR1:多模态LLM强化学习后训练组合拳,让模型进化更高效
算法·llm·强化学习