2012-12-04 50 views
0

我正在使用一個DevExpress.XtraGrid.GridControl以及c#中的雙擊事件。事件處理程序的簽名需要一個對象,EventArgs的,因爲它的參數:如何從DoubleClick事件處理程序中的DevExpress GridControl獲取點?

private void gvHL7_DoubleClick(object sender, EventArgs e){ 
    . 
    . 
    . 
    } 

不過,我想用.Point屬性,EventArgs的不具有該屬性。我知道DevExpress.XtraGrid.Views.Grid.GridMenuEventArgs的確如此,但它是說這是一個無效的投射。如果我希望訪問.Point屬性,我應該使用哪種類型的EventArgs實例?

編輯:我正在使用的雙擊功能是由devexpress爲他們的網格提供的。

+1

你知道什麼子類實際上傳遞到第二個參數嗎? –

+1

該類是System.EventArgs –

+1

EventArgs沒有點屬性,並且沒有cast/conversion/magic/voodoo可以添加一個點到EventArgs – Steve

回答

0

我解決了問題,但無法獲得點屬性。相反,我將EventArgs轉換爲MouseEventArgs,並通過.X和.Y屬性將座標傳遞給函數。

0

C#中的DoubleClick事件僅告訴您雙擊發生。如果您需要鼠標座標,則需要捕獲事件MouseClick或使用控件引發事件的MousePosition屬性(在這種情況下,最有可能是gvHL7.MousePosition)。

2

請參閱DevExpress Support site中的示例。您需要投下sender才能獲得Point

private void gridView1_DoubleClick(object sender, EventArgs e) 
{ 
    GridView view = (GridView)sender;  
    Point pt = view.GridControl.PointToClient(Control.MousePosition);  
} 
相關問題