簡體   English   中英

如何提高MouseClick事件?

[英]How to raise MouseClick event?

您好我已經讀過可以像方法一樣引發事件。 它適用於我的自定義事件(我創建一個委托,事件,我可以通過調用它來引發事件)。 但是我無法手動引發像MouseClick等其他事件,它一直說它必須出現在+ =運算符的左側。 問題是什么?

雖然我確信你會得到比這個更有用的其他答案,但基本上你不能“提升”包含它的類之外的事件。 MSDN對事件有這個說法

事件是一種特殊的多播委托, 只能從聲明它們的類或結構 (發布者類)中調用 如果其他類或結構訂閱了該事件,則當發布者類引發該事件時,將調用它們的事件處理程序方法。

如果你想為Windows Forms Control MouseClick提升事件,你必須創建該控件的子類,並調用base.OnMouseClick()或覆蓋它。

如果這是一個按鈕,您可以使用PerformClick方法以編程方式單擊它。

可悲的是,這只適用於按鈕而不是其他類型的Control ...除了MenuItem

如果您想點擊按鈕,您應該致電:

button1.PerformClick();

如果你想調用MouseClick請參考這個論壇 ,使用windows api在c#中有解決方案:

假設你想手動提升事件“點擊”。 這對我有用:

public partial class CustomButton : UserControl
{
    public new event EventHandler Click;

    private void lblText_Click(object sender, EventArgs e)
    {
        Click(this, e);
    }

}
private void button1_Click(object sender, EventArgs e)
{
    //Enter your code here
}

void Page_Load(object sender, EventArgs e){
    this.button1.Click += new System.EventHandler(this.button1_Click);

    this.button1_Click(this, e);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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