2010-05-20 23 views
2

我有一個問題,我無法解決。CF - 當ContextMenu彈出時如何獲取鼠標位置?

在我看來(顯示地圖)我創建了一個contextMenu。 當上下文菜單被調用時,我需要獲取用戶點擊地圖的位置。

這裏是我的問題:

在視圖中我已經有一個讓我當用戶點擊座標onmousedown事件的事件。

private void MapView_MouseDown(object sender, MouseEventArgs e) 
    { 
     this.lastMouseDownX = e.X; 
     this.lastMouseDownY = e.Y; 
    } 

當文本菜單調用我需要同樣的數據,但問題是,文本菜單隻有有不守我所需要的數據的EventArgs。此外... contextMenu被調用當用戶按下並保持一秒鐘的鼠標,當它調用的代碼不輸入onMouseDown事件!它只是在我的上下文菜單中進入彈出事件....

我試着把這個在我彈出的事件,但座標不正確。 Y座標離開圖表。

private void servicesContextMenu_Popup(object sender, EventArgs e) 
{ 
    this.lastMouseDownX = Control.MousePosition.X; 
    this.lastMouseDownX = Control.MousePosition.Y; 
} 

幫助?

+0

我計算了差異。在Control.MousePosition.Y中,該值始終比實際Y座標大26px。座標X永遠是對的!這是否有標題欄待辦事項? – no9 2010-05-21 07:01:04

回答

相關問題