CF - Как получить положение мыши, когда ContextMenu всплывает? - PullRequest
2 голосов
/ 20 мая 2010

У меня есть проблема, которую я не могу решить.

На мой взгляд (показывает карту) я создал contextMenu. Когда вызывается контекстное меню, мне нужно получить позицию, по которой пользователь нажал на карту.

Вот моя проблема:

В представлении у меня уже есть событие onMouseDown, которое возвращает мне координаты, по которым пользователь щелкнул.

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

Когда вызывается contextMenu, мне нужны те же данные, но проблема в том, что в contextMenu есть только EventArgs, которые не хранят нужные мне данные. Более того ... contextMenu вызывается, когда пользователь нажимает и удерживает кнопку мыши в течение секунды, а когда он вызван, код не входит в событие onMouseDown! Это просто переходит в всплывающее событие в моем контекстном меню ....

Я пытался вставить это в всплывающее событие, но координаты не в порядке. Координата Y находится далеко от графика.

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

Помощь

1 Ответ

0 голосов
/ 07 февраля 2014

Использование этого помогло мне добиться цели.

http://www.mofeel.net/58-microsoft-public-dotnet-framework-compactframework/19285.aspx

...