簡體   English   中英

C#,用戶控制,事件 - 用戶控制的控制事件覆蓋?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM