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平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
  • 相关阅读:
    Android之旅 刷机 前言
    流程管理的售前意识
    站在企业角度来审视K2
    Android之旅 ROM定制 美化 默认屏的下方操作菜单
    在非K2服务器上部署基于K2的Web Application
    java拦截器与过滤器(转载)
    windows安装rediscluster集群
    SpringBoot使用Nacos配置中心(转载,可用)
    SpringBoot+Dubbo+MybatisPlus整合Seata分布式事务踩坑集合
    转载RabbitMQ教程
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/6225903.html
Copyright © 2011-2022 走看看