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();
            }
        }
    }
  • 相关阅读:
    .net 网站登录
    .net controller 跳转到 controller
    c# 访问Mysql
    C#去除字符串的最后一个字符
    try catch
    MySqlDataReader
    转:十六进制颜色与RGB颜色对照表
    js:Razor视图下服务器代码给Javascript变量赋值
    .netMVC:Web页面向后台提交数据的方式和选择
    jquery方法
  • 原文地址:https://www.cnblogs.com/xieqianli/p/4169182.html
Copyright © 2011-2022 走看看