.net自定义事件示例分享

 这篇文章主要介绍了.net自定义事件示例,代码实现了热水器加热,报警器监控,当热水温度达到80度的时候报警器报警这样一个简单的事件处理程序,需要的朋友可以参考下

1、新建一个控制台应用程序TestDelegate,本项目主要实现:热水器加热,报警器监控,当热水温度达到80度的时候报警器报警这样一个简单的事件处理程序
 
2、定义委托处理程序
 
 代码如下:
public delegate void PlayGameHandler(object sender, System.EventArgs e);
 
 
3、添加一个报警器类,报警方法只有在温度超过80度的时候会被调用
 
 代码如下:
// 负责报警的人
    public class 报警器
    {
        public 报警器()
        {
            Console.WriteLine("生成报警器...");
        }
        public void 报警(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(100);//休息0.1秒
            Console.WriteLine("滴滴。。。。温度超过80度...");
        }
    }
 
 
4、添加一个热水器类,利用循环加热热水器,从一度增加到100度,当温度超过80度时候触发事件报警
 
 代码如下:
// 如果加热,则引发事件
    public class 热水器
    {
        // 先定义一个事件,这个事件表示“热水器”在加热。
        public event PlayGameHandler PlayGame;
        public 热水器()
        {
            Console.WriteLine("生成热水器....");
        }
 
        public void 加热()
        {
            Console.WriteLine("开始加热了....."); 
            System.EventArgs e = new EventArgs();
            for (int i = 1; i < 101;i++)//温度每增加一度调触发一次事件
            {
                System.Threading.Thread.Sleep(100);//休息0.1秒
                Console.WriteLine(i.ToString()+"度");
                if (PlayGame != null)
                {
                    if(i>=80)//当温度大于80度
                    PlayGame(this, e);//触发事件
                }
            }
 
        }
    }
 
 
 
5、客户端开始调用
 
 代码如下:
public class Program
    {
        //[STAThread]
        public static void Main(string[] args)
        {
            Console.WriteLine("场景开始了....");
            报警器 w = new 报警器();
            热水器 z = new 热水器();
 
            // 指定监视
            z.PlayGame += new PlayGameHandler(w.报警);
            System.Threading.Thread.Sleep(1000);
            // 开始加热
            z.加热();
            Console.WriteLine("场景结束...");
            Console.ReadLine();
        }
 
    }
 

时间: 2024-11-16 08:57:36

.net自定义事件示例分享的相关文章

.net自定义事件示例分享_实用技巧

1.新建一个控制台应用程序TestDelegate,本项目主要实现:热水器加热,报警器监控,当热水温度达到80度的时候报警器报警这样一个简单的事件处理程序 2.定义委托处理程序 复制代码 代码如下: public delegate void PlayGameHandler(object sender, System.EventArgs e); 3.添加一个报警器类,报警方法只有在温度超过80度的时候会被调用 复制代码 代码如下: // 负责报警的人    public class 报警器   

android自定义窗口标题示例分享_Android

1.建好项目之后在它的layout文件夹下创建一个title.xml文件,作为自定义窗口标题的文件. 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent&

android自定义窗口标题示例分享

1.建好项目之后在它的layout文件夹下创建一个title.xml文件,作为自定义窗口标题的文件. 复制代码 代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent&q

php自定义session示例分享_php实例

下面为session类的代码 复制代码 代码如下: <?phpclass session{ static function init() {  session_set_save_handler(    array("session","open"),    array("session","close"),    array("session","read"),    array(

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解) 播放器 版本 11.2以后支持右键菜单屏蔽及自定义菜单 1.更新播放器 ,11.2 以上版本 http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc http://download.macromedia.com/get/flashplayer/updaters/11/playerglob

wxpython中自定义事件的实现与使用方法分析_python

本文实例讲述了wxpython中自定义事件的实现与使用方法.分享给大家供大家参考,具体如下: 创建自定义事件的步骤: ① 定义事件类,该事件类必须继承自wx.PyCommandEvent,并定义get和set方法来获取和设置事件参数. ② 创建一个事件类型和一个绑定器对象去绑定该事件到特定的对象. ③ 创建自定义事件对象,设置事件参数,并且使用ProcessEvent()方法将这个实例引入事件处理系统. ④ 绑定自定义事件的event handler. ⑤ 在event handler中响应事件

利用自定义事件实现不同窗体间的通讯 -- C#篇

C# 中的"事件"是当对象满足一定条件,发生某些事情时,类向该类的客户提供通知的一种方法.使用事件,拥有该事件的对象不必知道需要通知谁,一旦满足了某个条件,将自动调用该事件,正确通知每个需要通知的对象.通过使用事件,提高了程序的模块化程度. 要在程序中使用自定义事件,需按以下步骤进行: 1.声明事件要在类内声明事件,首先必须声明该事件的委托类型:public delegate void SelectionChangedEventHandler(object sender, Select

textbox-用C#编写的串口调试助手中 数据接收区的TextBox的自定义事件

问题描述 用C#编写的串口调试助手中 数据接收区的TextBox的自定义事件 用C#编写的串口调试助手中 判断数据接收区的TextBox的text属性是否与预先设定的一个字符串相同,如果相同就会触发一个自定义的事件,这个事件的处理程序是往串口发送一个字符串,各位大神帮帮忙怎么实现这个功能,能有示例代码就更好了!!! 解决方案 C#编写的串口调试助手 解决方案二: 拖动TextBox控件--> 设置相应的属性 --> 双击进入方法代码编写--> 再次判断他的text属性是否与事先定义好的相

01_MUI之Boilerplate中:HTML5示例,动态组件,自定义字体示例,自定义字体示例,图标字体示例

 1安装HBuilder5.0.0,安装后的界面截图如下: 2 按照https://www.muicss.com/docs/v1/css-js/boilerplate-html中的说明,创建上图的Boilerplate.html: 3 代码内容如下: <!--          作者:XXX@qq.com          时间:2015-08-02          描述:使用MUI,您可以先简单地直接将以下CSS和JS加入到您的HTML文档中:                <link