zoukankan      html  css  js  c++  java
  • c# 事件示例

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;

    /// <summary>
    /// 自定义缩略图控件
    /// </summary>
    public  class ctlPictureBox
    {
        public delegate void PicClickHandler(object sender, PictureArgs e);
        /// <summary>
        /// 定义单击事件
        /// </summary>
        public event PicClickHandler PicClick;

        protected virtual void OnPictureClick(PictureArgs e)
        {//事件触发方法
            if (PicClick != null)
            {//判断事件是否为空
                PicClick(this, e);//触发事件
            }
        }
      //激发事件
        private void pbImg_Click(object sender, EventArgs e)
        {
            PictureArgs args = new PictureArgs();
            args.FileName = fileName;
            OnPictureClick(args);
        }

    }

       
    public class PictureArgs : EventArgs
    {
        private string filename = "";
        /// <summary>
        /// 文件名称
        /// </summary>
        public string FileName
        {
            get { return filename; }
            set { filename = value; }
        }
    }

       

    示例2

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace test
    {
     public partial class MyControl: UserControl
     {
      public MyControl()
      {
       InitializeComponent();
      }

            public delegate int MyDelegate(string str);

            public MyDelegate ClickHandler = null;


            private void button1_Click(object sender, EventArgs e)
            {
                if (ClickHandler != null)
                {
                    ClickHandler("hello");
                }
            }
     }
    }

    调用方法

    public int Test(string str)
            {
                MessageBox.Show(str);
                return 1;
            }

            public int Test1(string str)
            {
                MessageBox.Show(str +"," + str);
                return 1;
            }


            private void Form1_Load(object sender, EventArgs e)
            {
                myControl1.ClickHandler += Test;
                myControl1.ClickHandler += Test1;
             
              //  myControl1.ClickHandler -= Test1;
            }

  • 相关阅读:
    Erlang性能的八个误区
    Unity预览
    一步步实现cnblogs博客采集工具>实现辅助对话框
    Asp.Net MVC 必备插件MVC Route Visualizer(Visual Studio 2012 版)
    IBM SOA[ESB,BPM,Portal等]基础架构图解
    PowerShell收发TCP消息包
    Sonar安装使用篇
    在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
    排序算法
    ASP.NET MVC Web API 学习增删改查
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/1764731.html
Copyright © 2011-2022 走看看