У меня проблема, я не могу решить.CF - Как получить положение мыши при появлении ContextMenu?
На мой взгляд (это показывает карту), я создал contextMenu. При вызове контекстного меню мне нужно получить позицию, по которой пользователь нажал на карту.
Вот моя проблема:
В представлении я уже OnMouseDown событие, которое получает мне координаты, где щелкнул пользователь.
private void MapView_MouseDown(object sender, MouseEventArgs e)
{
this.lastMouseDownX = e.X;
this.lastMouseDownY = e.Y;
}
Когда Контекстный вызываются мне нужно те же данные, но проблема в том, что Контекстный имеет только EventArgs, что Dont сохранить данные мне нужно. Кроме того ... contextMenu вызывается, когда пользователь нажимает и удерживает мышь в течение секунды, а при вызове кода не вводится событие onMouseDown! Он просто переходит в всплывающее событие в моем контекстном меню ....
Я попытался поместить это в свое всплывающее событие, но координаты не в порядке. Координата Y находится вне диаграммы.
private void servicesContextMenu_Popup(object sender, EventArgs e)
{
this.lastMouseDownX = Control.MousePosition.X;
this.lastMouseDownX = Control.MousePosition.Y;
}
Помощь?
Я вычислил разницу. В Control.MousePosition.Y значение всегда на 26px больше, чем фактическая координата Y. Координата X всегда правильная! Имеет ли это что-то делать с заголовком? – no9