Comment déterminer l'index dans un liste box

olivierbalagizi Messages postés 40 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 10 février 2011 - 24 janv. 2006 à 09:53
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 24 janv. 2006 à 10:54
Bonjour,
Je viens de rencontrer un petit problème. Dans l'évenement KeyPress d'un listbox (Sur un Mdi Form), je met le code tel que si l'utilisateur appuie sur la touche clavier "Enter" il s'affiche un autre formulaire fille correspondant à l'index de l'élément séléctionné.
if(e.KeyChar == (char)13)
{
intMonIndex = lst.SelectedIndex
AfficherFormulaire(lst.SelectedIndex);
}
Dans une variable public de type integer j'ai sauvegardé l'index courant. Je vais alors qu'en fermant le formulaire fille qui vient de s'afficher, le controle listBox lst reprenne le focus à l'index où il était de telle sorte que si l'utilisateur appuye sur "Enter" encore une fois, la même feuille fille réaparaisse.

private void frmMDI_MdiChildActivate(object sender, System.EventArgs e)
{
if(this.ActiveMdiChild == null)
{
lst.Focus();
lstMenuGen.SelectedIndex = intMonIndex ;
}
}
Le problème alors, c'est que quand j'appuie sur "Enter" pour la 2eme fois, c'est comme si l'index n'est pas sélectionné et le formulaire correspondant ne s'affiche pas. Il faut alors que j'appuie sur une des touches de direction (Vers le bas, par exemple) pour sélectionner l'index puis sur "Enter" pour ouvrir le formulaire. Que faire? Merci d'avance pour votre réponse

C#.net 2003 professionnel sur Windowd XP

1 réponse

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
24 janv. 2006 à 10:54
Salut,

La listBox dont tu parles, est-elle elle aussi dans une form fille ?
Ou directement dans le Form conteneur MDI ?

Dans le premier cas, je n'ai pas reussi a reproduire ton probleme.
Dans le second cas, il faut avoir en tete qu'une Form MDI n'est pas vraiment faite pour accueillir des Controls (la preuve, ca genere un bug d'affichage quand une fenetre se superpose a un Control). Ton probleme vient peut-etre de la.


Mx
MVP C#
0
Rejoignez-nous