Pregunta

Tengo un ContextMenu que se muestra después de que un usuario hace clic derecho en un ComboBox.Cuando el usuario selecciona un elemento en el menú contextual, aparece un formulario utilizando el ShowDialog() método.

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

Cuando se cierra ese formulario, actualizo todos los datos en los cuadros combinados del formulario principal.Sin embargo, cuando esto sucede, el ComboBox que abrió el ContextMenu se restablece para tener un índice seleccionado de -1, pero los otros índices seleccionados de los otros ComboBoxes siguen siendo los mismos.

¿Cómo evito que se restablezca el ComboBox que abrió el menú contextual?

¿Fue útil?

Solución

Una forma de manejar esto sería usar el evento emergente del menú contextual para tomar el índice seleccionado del cuadro combinado que inicia el menú.Cuando se cierre el formulario de diálogo, restablezca el índice seleccionado.

Otros consejos

Me lo imaginé.

Creé un método que pasó el ContextMenu.SourceControl() propiedad por referencia para poder manipular el control que llamó a ContextMenu.Al comienzo del método, obtuve el Valor seleccionado del ComboBox y se recargan los datos en los ComboBoxes.Luego puse el Valor seleccionado al valor que había obtenido al principio del método.

Gracias DaveK por indicarme la dirección correcta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top