Question

J'ai un ContextMenu qui s'affiche après qu'un utilisateur clique avec le bouton droit sur une ComboBox.Lorsque l'utilisateur sélectionne un élément dans le menu contextuel, un formulaire s'affiche à l'aide du ShowDialog() méthode.

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

Lorsque ce formulaire est fermé, j'actualise toutes les données des ComboBox du formulaire parent.Cependant, lorsque cela se produit, le ComboBox qui a ouvert le ContextMenu est réinitialisé pour avoir un index sélectionné de -1 mais les autres index sélectionnés des autres ComboBox restent les mêmes.

Comment puis-je empêcher la réinitialisation de la ComboBox qui a ouvert le menu contextuel ?

Était-ce utile?

La solution

Une façon de gérer cela serait d'utiliser l'événement Popup du menu contextuel pour récupérer l'index sélectionné de la liste déroulante lançant le menu.Lorsque le formulaire de dialogue se ferme, réinitialisez l'index sélectionné.

Autres conseils

Je l'ai compris.

J'ai créé une méthode qui a réussi le ContextMenu.SourceControl() propriété par référence afin que je puisse manipuler le contrôle qui a appelé le ContextMenu.Au début de la méthode, j'ai eu le Valeur sélectionnée du ComboBox et rechargé les données dans les ComboBox.J'ai ensuite réglé le Valeur sélectionnée à la valeur que j'avais obtenue au début de la méthode.

Merci DaveK de m'avoir orienté dans la bonne direction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top