Когда пользователь нажимает поле закрытия формы из текстового поля, как пропустить событие проверки этого текстового полC#

Место общения программистов C#
Ответить
Anonymous
 Когда пользователь нажимает поле закрытия формы из текстового поля, как пропустить событие проверки этого текстового пол

Сообщение Anonymous »

Форма имеет две панели: панель просмотра списка данных и панель ввода записей. При вводе данных в текстовые поля панели «Запись ввода» нажатие кнопки закрытия (X) в правом верхнем углу формы должно отменить введенные данные (не сохранить их). При нажатии кнопки закрытия панель ввода должна быть скрыта, а панель просмотра списка должна стать видимой.
Текстовое поле в форме имеет событие проверки. Я хочу, чтобы, когда пользователь нажимает кнопку закрытия (X), событие проверки не сработало или часть проверки значения текстового поля игнорировалась. В этой форме нажатие кнопки закрытия должно только скрыть видимую панель (панель ввода) и отобразить панель просмотра списка данных, не закрывая форму. После этого пользователь по-прежнему сможет повторно вводить данные на панели ввода.
Как я могу пропустить проверку текстового поля, когда пользователь нажимает кнопку «Закрыть» формы.
Я пробовал использовать событие WndProc. Однако при установке для AutoValidate значения EnablePreventFocusChange событие проверки по-прежнему срабатывает, даже если текстовое поле пусто.
Вот мой текущий код для захвата щелчка «X» в правом верхнем углу:
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x10) // The upper right "X" was clicked
{
AutoValidate = AutoValidate.Disable; //Deactivate all validations
}
base.WndProc(ref m);
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... he-that-te
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»