BindingSource, EndEdit и ErrorProvider генерируют событие для неизмененных полей - PullRequest
0 голосов
/ 25 февраля 2011
 public class Person
    {
        private string firstName;
        public string FirstName
        {
            get { return firstName; }
            set
            {
                if (string.IsNullOrEmpty(value))
                    throw new ArgumentNullException("FirstName cannot be null.");

                firstName = value;
            }
        }

        private string lastName;
        public string LastName
        {
            get { return lastName; }
            set
            {
                if (string.IsNullOrEmpty(value))
                    throw new ArgumentNullException("LastName cannot be null.");

                lastName = value;

            }
        }
        public int Age { get; set; }
    }

Поля Person (текстовые поля) и errorProvider связаны с personBindingSource.

Есть ли способ вызвать грязное событие, чтобы errorProvider перехватывал и отображал, если пользователь не ввел FirstName.В настоящее время это работает только в том случае, если вы вводите в поле некоторые символы, а затем удаляете их, чтобы отобразился поставщик ошибок.

Несмотря на то, что я звоню

personBindingSource.EndEdit();

, если я никогда не набрал текстовое поле firstName, он никогда не сработает, какие-либо обходные пути?

С уважением

_Eric

1 Ответ

1 голос
/ 07 мая 2011

set FirstName = "", либо в конструкторе, либо где-либо еще до привязки объекта. Ошибка будет видна сразу.

...