Почему событие Winforms Click медленнее, чем событие MouseClick?

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

Этот снимок экрана показывает результат моего теста: m добавлял кнопки в форму с циклом, и я заметил, что добавление обработчиков событий щелчка слишком сильно замедляет работу приложения. Позже я попробовал событие щелчка мыши вместо события щелчка, и оно работает мгновенно.

Этот снимок экрана показывает результат моего теста: m добавлял кнопки в форму с циклом, и я заметил, что добавление обработчиков событий щелчка слишком сильно замедляет работу приложения. Позже я попробовал событие щелчка мыши вместо события щелчка, и оно работает мгновенно.

Этот снимок экрана показывает результат моего теста: alt text Исходный код: http://pastebin.com/qVewNm1u

Результаты для обработчика 1000 событий:
Щелчок: 2892 мс MouseClick: 1 мс

Я не могу понять, почему событие Click очень медленное.

Изменить: Если я изменю целевую платформу сборки на x64 или Any CPU, результаты меняются: Щелчков: 5, Щелчков мышью: 9 Похоже, что цель платформы x86 вызывает эту проблему, но результаты для x64 все равно не очень хороши по сравнению с x86 MouseClick time (1ms).

Edit2: Я изменил скриншот, теперь он показывает лучший результат.

Edit3: https://connect.microsoft.com/VisualStudio/feedback/details/597039/winforms-click-event-slower-than-the-mouseclick-event

7
задан Jaex 11 September 2010 в 14:24
поделиться