проблемы проверки формы Windows (.net2.0) - PullRequest
1 голос
/ 27 сентября 2011

Мне нужна помощь с некоторыми вопросами, касающимися проверки формы Windows:

  1. закрытие формы с использованием стандартной кнопки закрытия формы (X) запускает проверку всех элементов управления. Есть ли способ подавить его при закрытии формы с помощью этой кнопки и принудительно нажать только при нажатии моей собственной кнопки?
  2. проверка текстового поля (возможно, других элементов управления, я тестировал только текстовые поля) не будет вызываться при программном изменении текста (значения). Мне нужно ввести текст прямо в текстовое поле, если я хочу, чтобы проверка запускалась позже, до закрытия формы. Как указать форме, что некоторый элемент управления нуждается в проверке (но не для немедленного запуска)?

Спасибо.

EDIT: (1) решено, используя этот ответ. (2) теперь, после того как я установил для свойства AutoValidate значение false и добавил ValidateChildren () к моей кнопке, проверяется только 1 элемент управления с его текущим значением, значения всех других элементов управления возвращаются к значению, связанному с ними из объекта DataSource. Я проверил это в событии Validating - только первая проверка элемента управления сохраняет свое текущее значение, после завершения проверки значения других элементов управления заменяются значениями из объекта DataSource. Я не понимаю почему. Есть какие-нибудь подсказки?

1 Ответ

0 голосов
/ 27 сентября 2011

Попробуйте, может быть, это поможет вам. (за 1)

В событие Forms Load вы можете поместить this.ControlBox = false ;. Это скроет вашу кнопку X с другими кнопками вверху. Форма имеет событие Form1_FormClosing. В этом случае вы можете вызвать триггеры, которые вам нужны. Поместите кнопку в форму, и в событии button_Click введите this.Close ().

...