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平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
  • 相关阅读:
    GB50174-2008《电子信息系统机房设计规范》
    Tickets HDU
    HDU
    [长期更新]题解合集
    网络流/费用流题目总结[持续更新]
    [转载]Maximum Flow: Augmenting Path Algorithms Comparison
    [转载]网络流笔记
    网络流各类算法简单总结与比较
    简单的算法备忘录,个人总结[长期更新]
    训练报告 18春组队04 2014西安全国邀请赛
  • 原文地址:https://www.cnblogs.com/zhao-yi/p/6225903.html
Copyright © 2011-2022 走看看