zoukankan      html  css  js  c++  java
  • 事件例程

    该例子演示了A窗口监听B窗口的事件,并作出响应。

    A窗口为主窗口。点击【AAAAA】按钮后弹出B窗口。点击【BBBBB】按钮后,触发事件,A窗口“原值”变成“FUCK YOU!”。

        

    B窗口是发布者,A窗口是订阅者。

    B窗口代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace theEvent
    {
        //自定义事件参数,继承EventArgs基类
        public class myEventArgs : EventArgs
        {
            public string label;
        }
    
        //发布者
        public partial class FormB : Form
        {
            public FormB()
            {
                InitializeComponent();
            }
    
            public event EventHandler<myEventArgs> myEvent;//使用自定义泛型委托
    
            //由发布者来触发事件,让订阅者来响应
            private void buttonB_Click(object sender, EventArgs e)
            {
                myEventArgs args = new myEventArgs();
                args.label = "FUCK YOU!";
                if (myEvent != null)
                {
                    myEvent(this, args);//引发事件
                }
                this.Close();
            }
        }
    }

    A窗口代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace theEvent
    {
        //订阅者
        public partial class FormA : Form
        {
            FormB b = null;
    
            public FormA()
            {
                InitializeComponent();
    
                b = new FormB();//实例化一个发布者的类
                //订阅该发布者的事件
                b.myEvent += myEventFunction;//监听B窗体事件
            }
    
            void myEventFunction(object source, myEventArgs e)
            {
                labelA.Text = e.label;
            }
    
            private void buttonA_Click(object sender, EventArgs e)
            {
                b.Show();
            }
        }
    }
  • 相关阅读:
    执迷不悟
    splunk设置索引周期和索引大小
    下载地址sqlserver2008r2
    蓝牙
    1、IdentityServer4
    翻译名义集
    sql 字符取数字
    Aerial Images Dataset 航空图像数据集 收集
    基于VGG16模型对猫狗分类任务进行迁移学习
    Apollo配置中心
  • 原文地址:https://www.cnblogs.com/xieqianli/p/4169182.html
Copyright © 2011-2022 走看看