3 回答

TA貢獻1804條經驗 獲得超8個贊
當鼠標單擊引發單擊事件時,如果您處理Click事件,則 的運行時類型e將MouseEventArgs如 Jimi 在評論中提到的那樣。
但在某些控件中,例如Button,您可以Click在沒有實際鼠標單擊的情況下引發事件,例如通過調用button1.PerformClick()或 當按鈕是AcceptButton表單的并且您按 時Enter,或者如果您按按鈕的助記鍵組合或當按鈕具有焦點時然后你按Space. 在這種情況下, 的運行時類型e是EventArgs。
如果您對鼠標單擊感興趣并且希望接收eas MouseEventArgs,那么您應該處理MouseClick事件。
例如:
picttureBox1.MouseClick += PicttureBox1_MouseClick;
進而:
private void PicttureBox1_MouseClick(object sender, MouseEventArgs e)
{
}

TA貢獻1875條經驗 獲得超5個贊
存在哪些事件、它們采用哪些參數、以及何時調用它們以及賦予它們哪些值完全取決于該類的作者。作為此代碼的單純用戶,您無法更改它。
您可以創建 Picature Box 的子類,在其中添加您自己的事件“ClickWithExtraArguments”或類似的事件。但提高它來代替默認值可能并不容易。有時“RaiseEvent[X]”代碼被標記為受保護,因此您可以覆蓋它。RaiseMouseEvent 就是其中之一,但這確實深入到事件處理。
您試圖通過事件參數提供什么信息?您不能簡單地檢索現有 Click 事件處理程序中的信息嗎?
- 3 回答
- 0 關注
- 173 瀏覽
添加回答
舉報