dans mon événement comboBox2_SelectedIndexChanged je fais un traitement et dans certains cas je veux changer le SelectedIndex à ce qu'il était avant de le changer. Je vois que sender.selectedIndex est le dernier index que j'ai utilisé mais je ne peux pas accéder à cette var. Comment puis-je dire à la combobox de revenir à w/e c'était?combobox changez en arrière SelectedIndex C#
1
A
Répondre
2
Voir le code ci-dessous. Si le cas satisfait, définissez l'index sélectionné sur lastIndex, tout en définissant lastIndex, assurez-vous de vous désinscrire de l'événement de sélection, de définir et de vous réabonner. Suivre le lastIndex chaque fois en le définissant à l'index selectedIndex.
int lastIndex=0;
void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (isItTheCase)
{
comboBox2.SelectedIndexChanged -= new EventHandler(comboBox2_SelectedIndexChanged);
comboBox2.SelectedIndex = lastIndex;
comboBox2.SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged);
}
lastIndex = comboBox2.SelectedIndex;
}
0
Veuillez cocher chaque fois que vous enregistrez plusieurs fois SelectedIndexChanged. Il arrive généralement que vous enregistriez des événements au moment du design qui vont dans la méthode Initilizecomponent(), puis l'enregistrent dans le constructeur.
Remerciements