1.首先在usercontrol后台添加如下代码:
public partial class UXUserControl: UserControl
{
//添加事件代理
public event EventHandler UXEvent;
//在需要响应的事件中添加
private void btn_MouseClick(object sender, MouseEventArgs e)
{
if (UXEvent!= null)
{
UXEvent(this, e);
//Or use :
//UXEvent(this, new EventArgs());
}
}
}
2.在窗体或页面添加一个用户控件,在Page_Load或Form_Load事件中添加:
private void Form1_Load(object sender, EventArgs e)
{
(UXUserControl)UC.UXEvent+= new EventHandler(uxEvent);//UC是usercontrol的对象,如果已经实例化,则直接使用实例化的名字即可
}
private void uxEvent(object sender, EventArgs e)
{
//do something(including send message to other user controls)
}
————————————————
版权声明:本文为优快云博主「liujiahaol123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/liujiahaol123/article/details/14120503/
该博客介绍了如何在Windows Forms或ASP.NET中创建和使用用户控件的自定义事件。通过在用户控件后台添加事件代理,并在窗体加载时订阅该事件,实现了用户控件与其他组件间的通信,允许在事件触发时执行特定操作。
1578

被折叠的 条评论
为什么被折叠?



