2012-12-04 2 views
0

DevExpress.XtraGrid.GridControl 및 C#의 두 번 클릭 이벤트로 작업하고 있습니다. 이 매개 변수의 같은 이벤트 핸들러의 서명은 객체와있는 EventArgs를 취합니다DevExpress GridControl에서 DoubleClick 이벤트 핸들러 내에서 Point를 얻으려면 어떻게해야합니까?

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

그러나, 나는 .Point 속성을 사용하려면를하고있는 EventArgs는 속성이 없습니다. 나는 DevExpress.XtraGrid.Views.Grid.GridMenuEventArgs가하는 일을 알고 있지만 그것은 잘못된 캐스팅입니다. .Point 속성에 액세스하려는 경우 어떤 유형의 EventArgs 인스턴스를 캐스팅해야합니까?

편집 : 내가 작업하고있는 더블 클릭 기능은 그리드에 대해 devexpress에서 제공됩니다.

+1

두 번째 매개 변수로 실제로 전달되는 하위 클래스를 알고 있습니까? –

+1

클래스는 System.EventArgs –

+1

입니다. EventArgs에는 point 속성이 없으며 Cast/conversion/magic/voodoo는 EventArgs에 점을 추가 할 수 없습니다 – Steve

답변

0

나는 문제를 해결했지만 포인트 속성을 얻을 수 없었다. 대신 MouseEventArgs에 EventArgs를 캐스팅하고 .X 및 .Y 속성을 통해 함수에 좌표를 전달합니다.

0

C#의 DoubleClick 이벤트는 두 번만 클릭 한 경우를 알려줍니다. 마우스 좌표가 필요하면 MouseClick 이벤트를 잡거나 이벤트를 던지고있는 컨트롤의 MousePosition 속성을 사용해야합니다 (이 경우에는 gvHL7.MousePosition 일 가능성이 큽니다).

2

이 예제는 DevExpress Support site에서 확인하십시오. Point이 되려면 sender을 전송해야합니다.

private void gridView1_DoubleClick(object sender, EventArgs e) 
{ 
    GridView view = (GridView)sender;  
    Point pt = view.GridControl.PointToClient(Control.MousePosition);  
} 
관련 문제