Вопрос

У меня есть контекстное меню, которое отображается после того, как пользователь щелкает правой кнопкой мыши по выпадающему списку.Когда пользователь выбирает пункт в контекстном меню, открывается форма с помощью ShowDialog() способ.

If frmOptions.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
    LoadComboBoxes()
End If

Когда эта форма закрывается, я обновляю все данные в выпадающих списках родительской формы.Однако, когда это происходит, поле со списком, которое открыло ContextMenu, сбрасывается, чтобы иметь выбранный индекс, равный -1, но другие выбранные индексы других полей со списком остаются неизменными.

Как мне предотвратить сброс выпадающего списка, открывшего контекстное меню?

Это было полезно?

Решение

Одним из способов справиться с этим было бы использовать всплывающее событие контекстного меню, чтобы захватить выбранный индекс выпадающего списка, запускающего меню.Когда диалоговая форма закроется, сбросьте выбранный индекс.

Другие советы

Я догадался об этом.

Я создал метод, который передавал Контекстное меню.SourceControl() свойство по ссылке, чтобы я мог манипулировать элементом управления, который вызывал ContextMenu.В начале применения метода я получил следующее Выбранное значение из выпадающего списка и перезагрузил данные в выпадающих списках.Затем я устанавливаю Выбранное значение к значению, которое я получил в начале метода.

Спасибо тебе, Давек, за то, что указал мне правильное направление.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top