(условно) Несколько обработчиков событий C # - PullRequest
0 голосов
/ 10 июня 2010

Часть моей программы требует извлечения «флага», то есть я выбираю значение, которое является либо Истинным, либо Ложным, и на основании этого возвращаемого значения могут следовать две вещи.

1) ФлагЗначение true, иначе «идти вперед», и я получаю данные из базы данных.

2) Флаг имеет значение false, и я хочу предотвратить получение данных.

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

Этот обработчик событий проверки сначала вызывается при необходимых событиях, и мой вопрос:

Как мне остановить последующие обработчики событий от запуска, если обработчик события FIRST (мой флаг проверки) появляется FALSE?

Спасибо

Ответы [ 4 ]

2 голосов
/ 10 июня 2010

У вашего дизайна есть проблема в зависимости от механизма событий. На самом деле у вас нет гарантии, что первый обработчик будет вызван раньше остальных. Таким образом, даже если бы вы могли запускать одно, а не другие события, вы не могли бы зависеть от порядка их вызова.

Вам нужно будет выполнить проверку до запуска мероприятия.

0 голосов
/ 15 марта 2011

имеет другой флаг, который определяет ложное условие, и если это так, не позволяйте методу выполняться, также меняйте флаг на true при каждом обновлении текстового поля и т. Д.

0 голосов
/ 10 июня 2010

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

0 голосов
/ 10 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...