我在我的winform上有一個DataGridView
,我顯示了5列和幾行,我想添加一個功能,如果我右鍵單擊任何行向我顯示一個菜單以查看有關該記錄的更多詳細信息。 但我得到一個錯誤,當我寫這e.Button
System.EventArgs不包含按鈕的定義 - C#
System.EventArgs不包含按鍵的定義,並沒有擴展方法按鈕接受類型System.EventArgs的第一個參數可以找到(是否缺少任何指令或程序集引用?)
我在我的winform上有一個DataGridView
,我顯示了5列和幾行,我想添加一個功能,如果我右鍵單擊任何行向我顯示一個菜單以查看有關該記錄的更多詳細信息。 但我得到一個錯誤,當我寫這e.Button
System.EventArgs不包含按鈕的定義 - C#
System.EventArgs不包含按鍵的定義,並沒有擴展方法按鈕接受類型System.EventArgs的第一個參數可以找到(是否缺少任何指令或程序集引用?)
MouseClick
事件DataGridView
實際上提供了一個MouseEventArgs
參數。您只用EventArgs
宣佈您的datagridview1_MouseClick
方法。
,要
protected void datagridview1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == ...
,它應該工作變化(如果你使用CellMouseClick
代替MouseClick
,使用DataGridViewCellMouseEventArgs
代替MouseEventArgs
)。
作爲一個方面說明:你沒有得到,當你添加「錯誤地」聲明的處理像datagridview1.MouseClick += datagridview1_MouseClick
,因爲MouseEventArgs
從EventArgs
派生,所以編譯器具有與分配對象沒有問題的編譯錯誤。當您嘗試通過e
訪問MouseEventArgs
實例的屬性時出現問題,e
被聲明爲EventArgs
,因爲EventArgs
不知道MouseEventArgs
衍生物的屬性。
P.S:請發表您的代碼作爲文字到您的下一個問題。對於我們來說,閱讀或再利用來重現錯誤比圖像更好。在該圖像中,我看不到您使用的是MouseClick
還是CellMouseClick
事件
它是'MouseClick',但您的答案爲我工作(Y)。感謝您的解釋。 –
你委託處理程序方法應該使用DataGridViewCellMouseEventArgs
按鈕位於MouseEventArgs中。 請參閱:http://stackoverflow.com/questions/19448346/how-to-get-a-right-click-mouse-event-changing-eventargs-to-mouseeventargs-cause –