Вопрос

Как регистрировать клики пользователей в приложении winform, не усложняя код? АОП ответ? Как отслеживать контрольно-измерительные приборы?

Это было полезно?

Решение

Это зависит скорее от ваших реальных требований.

Для простого / образца / прототипа приложения winforms я бы предложил базовый обработчики событий WinForms с кодом (если он не слишком тяжелый) в методах обработчика. Если код тяжелый, содержит жесткие бизнес-правила и не взаимодействует с формой, то лучше переместить этот код в другой класс и вызвать его из обработчика событий.

Аспектно-ориентированное программирование делает это дальше. Как правило, лучше всего применять в крупных проектах. Вам по-прежнему нужны обработчики событий для элементов формы (и я рекомендую придерживаться основанных на элементах управления обработчиков событий - не пытайтесь создавать свои собственные глобальные средства обработки событий), но они должны выполнять вызовы объектов Command (см. Шаблон команд в GangOfFour). Эти командные объекты могут быть вызваны из любого места в вашем приложении. Если вы хотите инструментарий, инструментарий должен быть на этих объектах Command, а не на событиях WinForms. Вы можете использовать контейнеры Inversion of Control , например Castle Windsor , чтобы внедрить протоколирование / аудит в команды без необходимости вообще изменять приложение, используя Шаблон перехватчика . Вот пример от Дэвида Хейдена

Другие советы

Общий метод захвата кликов в winforms - это обработка Control.MouseClick . Вы также можете посмотреть Control.MouseDown и Control.MouseUp если вы хотите более подробную информацию.

Если вы предоставите более подробную информацию о том, что вы пытаетесь сделать, мы, вероятно, сможем найти более точный ответ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top