У меня есть usercontrol, в котором есть обработчик события MouseDown причем довольно объемный. Проблема в том что если достаточно быстро дважды кликнуть мышью, причем можно даже в разных местах обработка первого нажатия прерывается обработкой второго. Быть может кто нибудь сталкивался с таким поведением, нормально ли это, если нет, то как это исправить.
Здравствуйте, Ja66y, Вы писали:
J>У меня есть usercontrol, в котором есть обработчик события MouseDown причем довольно объемный. Проблема в том что если достаточно быстро дважды кликнуть мышью, причем можно даже в разных местах обработка первого нажатия прерывается обработкой второго. Быть может кто нибудь сталкивался с таким поведением, нормально ли это, если нет, то как это исправить.
Где-то во время обработки события запускается цикл выборки сообщений. Поэтому, получается начать обработку второго события. Если выборку сообщений не запускать то, все будет "строго по очереди"
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Event handler прерывается следующим событием
Здравствуйте, TK, Вы писали: TK>Где-то во время обработки события запускается цикл выборки сообщений. Поэтому, получается начать обработку второго события. Если выборку сообщений не запускать то, все будет "строго по очереди".
Спасибо. А каким образом в .Net запускается этот цикл?
Re[3]: Event handler прерывается следующим событием
Здравствуйте, Ja66y, Вы писали:
J>У меня есть usercontrol, в котором есть обработчик события MouseDown причем довольно объемный. Проблема в том что если достаточно быстро дважды кликнуть мышью, причем можно даже в разных местах обработка первого нажатия прерывается обработкой второго. Быть может кто нибудь сталкивался с таким поведением, нормально ли это, если нет, то как это исправить.
Можно повесить Mutex в память до конца обработки первого хандлера, при этом в случае нахождения Мутекса в памяти в начале обработчика просто подавить событие и прервать обработку.