[英]How to raise MouseClick event?
您好我已經讀過可以像方法一樣引發事件。 它適用於我的自定義事件(我創建一個委托,事件,我可以通過調用它來引發事件)。 但是我無法手動引發像MouseClick等其他事件,它一直說它必須出現在+ =運算符的左側。 問題是什么?
雖然我確信你會得到比這個更有用的其他答案,但基本上你不能“提升”包含它的類之外的事件。 MSDN對事件有這個說法
事件是一種特殊的多播委托, 只能從聲明它們的類或結構 (發布者類)中調用 。 如果其他類或結構訂閱了該事件,則當發布者類引發該事件時,將調用它們的事件處理程序方法。
如果你想為Windows Forms Control MouseClick提升事件,你必須創建該控件的子類,並調用base.OnMouseClick()或覆蓋它。
如果這是一個按鈕,您可以使用PerformClick
方法以編程方式單擊它。
可悲的是,這只適用於按鈕而不是其他類型的Control
...除了MenuItem
。
假設你想手動提升事件“點擊”。 這對我有用:
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.