Контекстное меню С#, задерживающее события

Я работаю над приложением, которому требуется меню правой кнопки мыши, я использовал для этого contextMenuStrip, но когда меню открыто, и я снова щелкаю правой кнопкой мыши, мои события щелчка формы всегда на одно позади, поэтому последнее событие запускается вместо текущий.

Я пробовал закрывать меню при нажатии правой кнопки мыши и показывать его при отпускании, но оно все равно делает то же самое.


person BoJaN    schedule 13.01.2012    source источник
comment
Можете ли вы опубликовать код, который у вас есть сейчас? возможно вы что-то делаете не в том порядке..   -  person MethodMan    schedule 14.01.2012
comment
Что означает ... всегда один позади, поэтому последнее событие срабатывает вместо текущего?   -  person LarsTech    schedule 14.01.2012
comment
Я не умею объяснять, проблема похожа на эту: stackoverflow.com/questions/8568867/, за исключением того, что это происходит, когда контекстное меню видимо   -  person BoJaN    schedule 20.01.2012


Ответы (1)


Я понял проблему, я обновлял положение мыши в событии onMouseMove и сохранял его в своем статическом классе MouseState, а событие onMouseMove не происходило, пока контекстное меню было открыто. Теперь я обновляю мышь при перемещении мыши вниз/вверх/вверх, используя form.PointToClient(Cursor.Position)

Надеюсь, это поможет другим с похожими проблемами.

person BoJaN    schedule 20.01.2012