Проверка результатов события в случае потери нажатия кнопки в Winforms - PullRequest
0 голосов
/ 19 марта 2009

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

Проблема: Я ожидаю, что следующая вещь, которая произойдет, это то, что события нажатия кнопки будут срабатывать. В случае кнопки «отмена» это делает. Но события для «очистки» кнопки нет. Я не вижу никакой разницы между двумя кнопками / событиями. Что происходит и как мне это исправить?

Ответы [ 2 ]

2 голосов
/ 19 марта 2009

Не уверен, что вас беспокоит, ни одно событие Click не должно запускаться, когда вы устанавливаете e.Cancel в обработчике Validating. Но есть лучший способ сделать это. Установите для свойства кнопок CausesValidation значение False.

0 голосов
/ 14 октября 2009

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

...