如何在用户控件中创建事件并在主窗体中处理它?

如何在用户控件中创建事件并在主窗体中处理它?,第1张

如何在用户控件中创建事件并在主窗体中处理它?

您需要为用户控件创建事件处理程序,该事件处理程序在触发用户控件中的事件时引发。这将使您能够在事件链上冒泡,以便可以从表单中处理事件。

当点击

Button1
UserControl时,我将
Button1_Click
触发
UserControl_ButtonClick
在表单上触发的事件:

用户控件:

[Browsable(true)] [Category("Action")] [Description("Invoked when user clicks button")]public event EventHandler ButtonClick;protected void Button1_Click(object sender, EventArgs e){    //bubble the event up to the parent    if (this.ButtonClick!= null)        this.ButtonClick(this, e);    }

形成:

UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);protected void UserControl_ButtonClick(object sender, EventArgs e){    //handle the event }

笔记:

  • 较新的Visual Studio版本建议

    if (this.ButtonClick!= null) this.ButtonClick(this, e);
    您代替使用
    ButtonClick?.Invoke(this, e);
    ,它的作用基本相同,但更短。

  • Browsable
    属性使事件在Visual Studio的设计器(事件视图)中可见,
    Category
    并在“动作”类别中显示该事件,并
    Description
    提供对其的描述。您可以完全省略这些属性,但是由于VS可以为您处理,因此使设计者可以轻松使用它们。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5064168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存