Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 8

Глобальное отслеживание событий в С#

13.03.2013, 10:49. Показов 3173. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите можно ли в с# сделать какой-нибудь класса или какую-нибудь систему разработать, которая бы перехватывала любые события в приложении, независимо от того в какой форме или каким контролом они были вызваны. Например, есть в приложении несколько форм, со своими контролами, пользователь в одной форме кнопку нажал, в другой что-нибудь выбрал, еще что-нибудь сделал и все эти события перехватывались одной системой, которая бы получала форму в которой произошло событие, контрол, который вызвал это событие и имя самого события.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2013, 10:49
Ответы с готовыми решениями:

Отслеживание событий клавиатуры
Добрый день. Пишу лабу по Qt. Мне необходимо, чтобы мои элементы управления (пусть для определенности будет одна кнопка) реагировали...

BX отслеживание событий инфоблока
Всем привет! У меня вот такой вопрос: умеет ли битриксовская библиотека BX отслеживать события класса CIBlockElement ? Есть вот...

Отслеживание событий в word
имеется следующий код размещенный в модуле: ActiveDocument.PrintPreview Dim Prosmotr If ActiveDocument.ClosePrintPreview...

9
Заблокирован
13.03.2013, 11:07
Цитата Сообщение от kokon23 Посмотреть сообщение
Подскажите можно ли в с# сделать
отвечаю: можно.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 11:13
kokon23, может это подойдет?
http://msdn.microsoft.com/ru-r... ption.aspx
0
Заблокирован
13.03.2013, 11:14
Psilon, не подойдет.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 11:15
Причина?
0
Заблокирован
13.03.2013, 11:19
Psilon, так ты прочитай статью, а потом задание. Подумай. Если не помогло, еще прочитай и опять подумай.

Добавлено через 2 минуты
а вот это уже ближе:
http://msdn.microsoft.com/en-u... s.85).aspx
0
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 8
13.03.2013, 11:24  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
kokon23, может это подойдет?
http://msdn.microsoft.com/ru-r... ption.aspx
я так понимаю там речь только об ошибках идет, я бы хотел, создать такой класс, который бы перехватывал все(или почти все) события от других классов, только пока не пойму как это сделать.

Добавлено через 1 минуту
Цитата Сообщение от loro Посмотреть сообщение
Psilon, так ты прочитай статью, а потом задание. Подумай. Если не помогло, еще прочитай и опять подумай.

Добавлено через 2 минуты
а вот это уже ближе:
http://msdn.microsoft.com/en-u... s.85).aspx
да что-то типа этого, только на си шарп
0
Заблокирован
13.03.2013, 11:25
http://www.pinvoke.net/default... ookEx.html вот еще теплее. Идею улавливаешь? Ты должен научиться фильтровать сообщения Windows. Руками много пописать придется, но я думаю готовые решения уже есть.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
13.03.2013, 11:30
kokon23, а вообще погуглите в сторону реактивных расширений Rx, можно будет сделать очередь событий.
0
Заблокирован
13.03.2013, 14:29
Цитата Сообщение от kokon23 Посмотреть сообщение
Здравствуйте! Подскажите можно ли в с# сделать какой-нибудь класса или какую-нибудь систему разработать, которая бы перехватывала любые события в приложении, независимо от того в какой форме или каким контролом они были вызваны. Например, есть в приложении несколько форм, со своими контролами, пользователь в одной форме кнопку нажал, в другой что-нибудь выбрал, еще что-нибудь сделал и все эти события перехватывались одной системой, которая бы получала форму в которой произошло событие, контрол, который вызвал это событие и имя самого события.
Могу предположить, что тебе нужно передавать изменения между формами, то лучше сделать один клас, на все формы, который бы генерировал события о изменении своего состояния. Например, форма 1 изменила название товара в нем, он информирует обо всем другие формы и те отражают изменения.
Есть событийный массив для этого:System.Collections.ObjectModel.Obs ervableCollection<T>

Если нет, т.е. надо все события к приложению перехватывать, то, наверно, без вызова платформы не обойтись. Тогда не могу помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2013, 14:29
Помогаю со студенческими работами здесь

Отслеживание событий между фреймами.
У меня такая проблема: Многофреймовый документ, мне нужно отслеживать из одного фрейма в другом события onkeyup для того, чтобы можно было...

Отслеживание событий клавиш в CRT
В GraphABC есть такая возможность OnKeyDown и OnKeyUp, как примерно такое реализовать в модуле CRT. Следить нужно только за одним пробелом....

Отслеживание событий другого приложения
Всем добрый день! Есть приложение, обычный .exe, и в нем постоянно выскакивает окно с кнопкой &quot;ОК&quot; для подтверждения действия. В...

Отслеживание событий вне окна
Как сделать чтобы можно было обрабатывать события когда мышь находится вне окна? У меня за пределами окна обрабатывается только события...

Обработка сообщений/событий. Отслеживание в оборудовании
Мне необходимо отслеживать изменения в составе оборудования. Весь день лажу по инету - ищу, читаю - и везде нет ничего внятного. Подскажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru