C#怎么为控件添加自定义事件及自定义触发
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文小编为大家详细介绍"C#怎么为控件添加自定义事件及自定义触发",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么为控件添加自定义事件及自定义触发"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2026年10月31日C#怎么为控件添加自定义事件及自定义触发
本文小编为大家详细介绍"C#怎么为控件添加自定义事件及自定义触发",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么为控件添加自定义事件及自定义触发"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
先随便搞个事件吧
public class TestEventrgs : EventArgs { private string _name; public string Name { get { return _name; } } private int _age; public int Age { get { return _age; } } public TestEventrgs(string name,int age) { _name = name; _age = age; } }分两种,自定义控件和winfrom下的已有控件
先来个自定义控件吧
随便搞个界面
上马
using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace CSDN{ public partial class UserControl1 : UserControl { int ClickNuM = 0; //点击次数 public event EventHandler TestEventrg;//自定义的事件 public UserControl1() { InitializeComponent(); this.TestEventrg += new EventHandler(DangeTip);//自定义事件绑定的方法 } private void DangeTip(object sender, TestEventrgs e) { string tool = string.Format("危险提示:{0}你小子别狂点,仗着{1}岁手速快是吧!?",e.Name,e.Age); MessageBox.Show(tool); } protected override void OnClick(EventArgs e) { base.OnClick(e); ClickNuM++; if (ClickNuM>5) { //触发自定义事件 this.TestEventrg?.Invoke(this,new TestEventrgs("ming",17));//输入的参数可以自己传入 ClickNuM = 0; } } }} 放到界面上,狂点之后
接下来是winfrom下的已有控件,以button为例子
先添加一个组件
改为继承 Button,并添加相应的自定义事件
using System;using System.Collections.Generic;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace CSDN{ public partial class MyButton : Button { public MyButton() { InitializeComponent(); } public event EventHandler TestEventrg; public MyButton(IContainer container) { container.Add(this); InitializeComponent(); } }} 将组件从工具箱添加到界面,添加对应方法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace CSDN{ public partial class Form2 : Form { public Form2() { InitializeComponent(); } int ClickNuM = 0; private void myButton1_TestEventrg(object sender, TestEventrgs e) { string tool = string.Format("危险提示:{0}你小子别狂点,仗着{1}岁手速快是吧!?", e.Name, e.Age); MessageBox.Show(tool); } private void myButton1_Click(object sender, EventArgs e) { ClickNuM++; if (ClickNuM > 5) { myButton1_TestEventrg(this, new TestEventrgs("lang", 88)); ClickNuM = 0; } } }}运行之后,狂点。触发
读到这里,这篇"C#怎么为控件添加自定义事件及自定义触发"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
事件
控件
C#
文章
界面
危险
内容
小子
方法
组件
提示
妥当
接下来
例子
参数
工具
工具箱
思路
新知
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
天津市摩尔互联网科技
奇酷互联网科技公司
互联网科技logo设计
互联网科技公司做什么
互联网科技有限公司 翻译
互联网科技产品
常德市电业局互联网科技部
呼和浩特新华互联网科技学院
互联网时代的科技公司
上海互联网科技公司ppt
九思连强互联网电子科技有限公司
互联网公司属于科技吗
北京互联网科技类企业分布
美国五大互联网科技公司市值多少
互联网时代高科技布局
唐山双旺合互联网科技产业园
安徽零酒互联网科技有限公司
青岛互联网科技园
山东亿川互联网科技有限责任公司
互联网科技产业
互联网为科技
互联网科技股票
善班互联网科技有限公司
科技创新互联网企业
深圳艾果互联网通讯科技
徐州市互联网科技有限公司
互联网金融金融科技
互联网科技创新方面的资料
株洲百竞科技的互联网营销顾问