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平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
出 处:http://www.cnblogs.com/zhao-yi
Git 地 址:https://github.com/ZhaoYis
个人博客:http://www.zhaoyis.com.cn
关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!