У меня есть ListView. При нажатии на элемент панель обновляется с данными выбранного элемента.
Каждый элемент имеет значение свойства 1 или 2.
Я хочу, чтобы вкладка TabControl выбиралась на панели после значения 1 или 2.

Панель имеет событие Leave.
Это позволяет автоматически сохранять данные перед отображением следующего элемента ListView, по которому щелкнули мышью.
Когда элементы ListView с последовательным щелчком имеют одно и то же свойство (1 или 2), TabControl остается неизменным.

Проблема возникает, когда TabControl необходимо изменить (с 1 на 2 или наоборот).

Событие `Leave` срабатывает, даже если указатель мыши не наведен на панель. Это приводит к неожиданному сохранению элемента ListView сразу после щелчка по нему во время отображения, с побочными эффектами и (я сильно подозреваю) потерей данных.
Моей первоначальной идеей было предотвратить возникновение события «Покинуть» панели во время обновления панели.
Код: Выделить всё
DonneesPanel.Leave -= DonneesPanel_Leave;
Код: Выделить всё
DonneesPanel.Leave += DonneesPanel_Leave;
Код: Выделить всё
DonneesPanel.Enter -= DonneesPanel_Enter;
DonneesPanel.Enter += DonneesPanel_Enter;
Обзор: всякий раз, когда TabControl необходимо изменить, запускается событие _Leave панели. Форма, которая в данный момент загружается, сохраняется, и я не могу это предотвратить.
При щелчке по элементу ListView я могу обновить все в панели, включая TabControl.
Это только, когда свойства выбранного элемента требуют изменения вкладки TabControl, после отображения запускается событие выхода из панели.
Это то, чего я хочу избежать.
/>Я не использую специальный элемент управления. TabControl, ListView и Panel взяты из Windows Forms.
Спасибо за помощь.
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-not-work
Мобильная версия