IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

bug c# avec l'utilisation d'une méthode privé


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 5
    Points
    5
    Par défaut bug c# avec l'utilisation d'une méthode privé
    Bonjour,

    Les deux méthodes ci-dessus délèguent le transfert des éléments sélectionnés d'une liste à l'autre à une même méthode privée
    appelée transfert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    private void transfert(ListBox l1, Button button1vers2, Button buttonEffacer1, ListBox l2,
    Button button2vers1, Button buttonEffacer2) {
     // transfert dans la liste l2 des éléments sélectionnés de la liste l1
     for (int i = l1.SelectedIndices.Count - 1; i >= 0; i--) {
     // index de l'élément sélectionné
     int index = l1.SelectedIndices[i];
     // ajout dans l2
     l2.Items.Add(l1.Items[index]);
     // suppression dans l1
     l1.Items.RemoveAt(index);
     }
     // boutons Effacer
     buttonEffacer2.Enabled = l2.Items.Count != 0;
     buttonEffacer1.Enabled = l1.Items.Count != 0;
     // boutons de transfert
     button1vers2.Enabled = false;
     }
    Mais, j'ai beaucoup erreurs du genre dans ce bout de code :
    Erreur 1:class, delegate, enum, interface ou struct attendu
    Erreur 2 Le type ou le nom d'espace de noms 'i' est introuvable (une directive using ou une référence d'assembly est-elle manquante*?)
    Merci d'avance!

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 41
    Points : 59
    Points
    59
    Par défaut
    Bonjour.

    J'ai tester le code que tus as mis et je n'ai pas rencontrer de problèmes à la compilation.
    Peut être que l'erreur provient d'un mal formatage de ton fichier genre un point virgule qui serai présent là ou il ne devrait pas être.

    Qu'est ce que cela donne si tu retire ta méthode et recompile ton projet ?

    Cordialement.

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Quelle erreur, sur quelle instruction ?

    Il me semble qu'il y a par ailleurs une erreur de logique lié à la suppression des items dans l1.


    Mieux vaut :
    • faire une première boucle d'ajout (boucle sur sur les SelectedIndices de l1)
    • faire une deuxième boucle de supppression (boucle sur sur les items de l2) en y exécutant "l1.Remove(l2.Items[i]) " au lieu du "RemoveAt(Index)" dans la première boucle qui pouvait complétement désorganiser les SelectedIndices.

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/10/2012, 19h25
  2. Réponses: 4
    Dernier message: 19/07/2009, 13h51
  3. Réponses: 2
    Dernier message: 16/12/2007, 18h28
  4. Erreur avec GetImageSize : utilisation d'une URL
    Par Are-no dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2007, 23h41
  5. Réponses: 20
    Dernier message: 19/09/2006, 20h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo