[英]C#, User Control, Events - User Control's Control Event Overriding?
在我的C#程序中,我有一個帶有標簽和按鈕的自定義控件。 如何設置我的控件,以便當用戶單擊按鈕時它會覆蓋自定義控件的Click事件?
只需調用控件的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; }
}
這篇完整的文章向您解釋如何實現它: 從自定義控件中公開自定義事件
以下是用於用戶控制和曝光事件的步驟,您需要為您執行相同操作按鈕,閱讀上面的鏈接后您會得到更多的想法
步驟1:在用戶控制cs文件中注冊事件
public event EventHandler DrpChange;
第2步:虛擬函數來處理usercontrol 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.