zoukankan      html  css  js  c++  java
  • C#窗体程序【用户控件-窗体】委托事件

    这里的自定义控件是由普通控件组合而成的。
    希望事件响应代码推迟到使用自定义控件的窗体里写。
    步骤一:新建一个用户控件,放两个按钮,Tag分别是btn1,btn2.
    这两个按钮的共用单击事件处理代码如下:

    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 UcDll
    {
      public partial class UcTest : UserControl
      {
        public UcTest()
        {
          InitializeComponent();
        }
        //定义委托
        public delegate void BtnClickHandle(object sender, EventArgs e);
        //定义事件
        public event BtnClickHandle UserControlBtnClicked;
        private void btn_Click(object sender, EventArgs e)
        {
          if (UserControlBtnClicked != null)
            UserControlBtnClicked(sender, new EventArgs());//把按钮自身作为参数传递
        }
      }
    }
    

    步骤二:当用户拖一个自定义控件在窗体的时候,

    在事件里可以找到UserControlBtnClicked事件。

    private void ucTest1_UserControlBtnClicked(object sender, EventArgs e)
    {
      Button btn = sender as Button;
      MessageBox.Show(btn.Tag.ToString());
    }
    

      

     

    作  者:大師兄丶
    出  处:http://www.cnblogs.com/zhao-yi
    Git 地 址:https://github.com/ZhaoYis
    个人博客:http://www.zhaoyis.com.cn
    关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
  • 相关阅读:
    springboot 上传文件过大的500异常
    java OSS批量下载,并压缩为ZIP
    Java 对象转xml (dom 4j)
    windows 10 64位机器上 安装部署
    Java 读取excel 文件流
    关于Java 去除空格,换行的代码
    ORACLE 查询近一天,近半小时内的数据
    【转】C#(ASP.Net)获取当前路径的方法集合
    【转】NumPy-快速处理数据
    【转】Eclipse 常用快捷键 (动画讲解)
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/6225903.html
Copyright © 2011-2022 走看看