在我的 C# 程序中,我有一个带有标签和按钮的自定义控件。如何设置我的控件,以便当用户单击按钮时,它会覆盖自定义控件的 Click 事件?
问问题
4904 次
3 回答
2
只需调用控件的 OnClick() 方法:
private void button1_Click(object sender, EventArgs e) {
this.OnClick(e);
}
触发控件的 Click 事件。
于 2012-04-11T13:19:00.373 回答
1
你可以这样写:
public new event EventHandler Click {
add { button1.Click += value; }
remove { button1.Click -= value; }
}
于 2012-04-11T13:21:49.117 回答
0
这是完整的文章,向您解释如何实现它:从自定义控件中公开自定义事件
以下是用户控件中使用的下拉菜单和公开事件的步骤,您需要为您的按钮做同样的事情,阅读上面的链接后您会得到更多的想法
第 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>
于 2012-04-11T13:18:58.807 回答