zoukankan      html  css  js  c++  java
  • 事件

    实现效果:

    1,创建两个窗体

     FormMain

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 事件
    {
        public delegate void Method(string info);
        public partial class FormMain : Form
        {
            public FormMain()
            {
                InitializeComponent();
            }
            public List<FormSon> sons = new List<FormSon>();
            public void EventMethod(string info)
            {
                this.textBox1.Text = info;
            }
    
            /// <summary>
            /// 初始化创建3个子窗体
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void FormMain_Load(object sender, EventArgs e)
            {
                for (int i = 0; i < 3; i++)
                {
                FormSon formSon = new FormSon();
                formSon.Location = new Point(300*(i+1),300);
                sons.Add(formSon);
                formSon.Show();
                }
            }
            /// <summary>
            /// 关联事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                foreach (var item in sons)
                {
                    //事件不可以赋空值
                    //事件只能通过+=或者-=与方法关联或移除R
                    item.method += EventMethod;
                }
            }
            /// <summary>
            /// 移除事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                foreach (var item in sons)
                {
                    item.method -= EventMethod;
                }
            }
        }
    View Code

    FormSon

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 事件
    {
        public partial class FormSon : Form
        {
            public FormSon()
            {
                InitializeComponent();
            }
            //创建事件
            public event Method method;
    
            private void button1_Click(object sender, EventArgs e)
            {
                if (method==null)
                {
                    MessageBox.Show("请先关联事件");
                    return;
                }
                
                method(this.textBox1.Text);
            }
        }
    }
    View Code
  • 相关阅读:
    ubuntu用mentohust连接ruijie
    vim系统剪切板
    JSP 页面中用绝对路径显示图片
    response.setContentType与 request.setCharacterEncoding 区别
    安装mysql数据库要注意的
    eclipse link方式安装插件安装不上
    Windows程序调用dll
    DP 问题
    LeetCode Repeated Substring Pattern
    LeetCode Number of Segments in a String
  • 原文地址:https://www.cnblogs.com/Luck1996/p/12003208.html
Copyright © 2011-2022 走看看