Почему метод пользовательского элемента управления BindingSource.CurrentChanged вызывается 3 раза при первой загрузке формы?

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

Когда я хочу загрузить элемент управления в первый раз из другой формы, метод BindingSource.CurrentChanged вызывается 3 раза! но когда я нажимаю кнопку "Далее", чтобы увидеть следующий объект в загруженном элементе управления сеткой данных, вызывается BindingSource.CurrentChanged только один раз.

Может кто-нибудь объяснить, почему метод CurrentChanged вызывается 3 раза в первый раз, но только один раз, когда элемент управления уже загружен?

1 ответ

Решение

Событие CurrentChanged возникает всякий раз, когда свойство Current изменяется по любой из следующих причин:

The current position of the List changes.

The DataSource or DataMember properties change.

The membership of the underlying List changes, which causes Position to refer to a different item. Examples include adding or deleting an item before the current item, deleting or moving the current item itself, or moving an item to the current position.

The underlying list is refreshed by a new sorting or filtering operation.

Для получения дополнительной информации см. Страницу https://social.msdn.microsoft.com/Forums/windows/en-US/5f968c71-a979-4e80-9896-94736e832f0c/bindingsource-currentchanged-event?forum=winformsdatacontrols.

Другие вопросы по тегам