У меня проблема, связанная с этим вопросом: How can I handle ComboBox selected index changing? Первый комментарий ответа на вопрос в основном запрашивает то же, что и здесь.Как вернуться к ранее выбранному индексу при событии смены индекса
В нем описывается, как поймать событие изменения индекса. Это прекрасно работает, однако у меня есть провайдер ошибок, ожидающий этого события, что фактически делает определенные поля обязательными. Если он приравнивается к истинному (или, другими словами, обязательное поле пуст), он выходит из суб.
Это прекрасно работает; данные остаются неизменными, а обязательные поля выделяются, однако проблемы возникают из-за того, что выбранный индекс уже изменился. Другими словами, вы видите данные из исходного индекса, но фактический выделенный индекс в комбинированном поле уже изменился. Событие ChangedIndex, оно срабатывает при изменении индекса.
Есть ли способ переустановить предыдущий индекс и/или отменить переход к новому индексу? Есть ли такое событие, как ChangingIndex в подобной усадьбе, для того, что DeletingRecord относится к событию RecordDeleted?
EDIT- Я использую ListBox не ComboBox, у которого нет события SelectedIndexChanging.
Я попытался поместить это в свой код, однако кажется, что sysargs не имеет аргумента «RemovedItems». Я работаю из события SelectedIndexChanged и VB.net.Не уверен, что это имеет к этому какое-то отношение? –
Есть только несколько аргументов, которые я могу использовать, никто не делает то, что мне нужно. –
@Noodlemanny Похоже, вы используете 'ListBox' в' System.Windows.Forms' пространстве имен, а не в 'System.Windows.Controls', так как вы используете событие' SelectedIndexChanged', а не 'SelectionChanged ' 'событие. Вам нужно использовать ListBox в 'System.Windows.Forms'? – Saggio