C#、用户控件、事件 - 用户控件的控件事件重写

本文关键字:控件 事件 用户 重写 | 更新日期: 2023-09-27 18:30:40

在我的 C# 程序中,我有一个带有标签和按钮的自定义控件。如何设置我的控件,以便在用户单击按钮时重写自定义控件的 Click 事件?

C#、用户控件、事件 - 用户控件的控件事件重写

只需调用控件的 OnClick() 方法:

    private void button1_Click(object sender, EventArgs e) {
        this.OnClick(e);
    }

这将触发控件的 Click 事件。

你可以这样写:

public new event EventHandler Click {
  add { button1.Click += value; }
  remove { button1.Click -= value; }
}

这是完整的文章,它解释了如何实现它: 从自定义控件公开自定义事件

以下是用户控制和公开事件中使用的 drodown 的步骤,您需要为您按钮做同样的事情,阅读上面的链接后您将获得更多想法

步骤 1:在用户控件 cs 文件中注册事件

public event EventHandler DrpChange;

步骤2:虚拟函数处理用户控制cs文件中引发的事件

public virtual void OnDropDownChange()
    {
        if (DrpChange != null)
        {
            this.DrpChange(this, EventArgs.Empty);
        }
    }

步骤3:在ASCX.CS文件中下拉列表的更改事件上注册

protected void ddlDropDown_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.OnDropDownChange();
    }

第 4 步:在页面上使用用户控件并利用公开自定义事件。Aspx 页面

<uc1:commondropdowncontrol autopostback="true" drpchange="usrDrp_DrpChange" id="usrDrp" labletext="Country" runat="server">
    </uc1:commondropdowncontrol></div>
</form>