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

Windows Forms Discussion :

Enumeration de boutons dans une form


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Points : 20
    Points
    20
    Par défaut Enumeration de boutons dans une form
    Bonjour a tous.

    Je suis en ce moment en train de developper une interface qui permet de scanner un repertoire "type" contenant des archives produites par un autre programme. Mon soft permet de verifier la presence de fichiers dans le repertoire et de recuperer des infos dans ceux qui sont dans un format "ouvert" par exemple des .csv ...

    J'affiche le resume des archives dans une premiere fenetre puis je permet d'ouvrir une deuxieme fenetre contenant les infos sur la presence des fichiers, et les infos qui nous interessent dedans.
    Je presente graphiquement la presence des fichiers sous forme de boutons portant leur extension et qui seront de couleur verte ou rouge en fonction de la presence ou l'absence du fichier portant cette extension.

    Pour mettre les boutons a jour, je voulais faire comme il me semblait deja avoir fait dans un programme en VB.NET il y a 1 an et demi (en stage, dc plus les sources, et plus de souvenir tres net de la methode employee)
    Je suis pratiquement persuade que c'etait a base foreach.

    Donc je l'ai retente comme suit :


    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
    19
    20
     
     
        public partial class ArchiveForm : Form
        {
            //Constructor
            public ArchiveForm(Archive currentArchive)
            {
                InitializeComponent();
                foreach (File currentFile in currentArchive.ExistingFiles)
                {
                    foreach (Button currentBtn in this)
                    {
                        if (currentFile.Extension == currentBtn.Text.Substring(currentBtn.Text.IndexOf("("), 3))
                            currentBtn.BackColor = System.Drawing.Color.Green;
                    }
                }
     
            }
     
         }

    Ainsi je parcours tout mes fichiers que j'ai instancie dans mon objet archive et je compare leur extension a chaque bouton que je trouve dans ma form ... enfin c'est ce que je voudrais faire car lorsque je compile, j'obtiens l'erreur

    Error 3 foreach statement cannot operate on variables of type 'Auditor.ArchiveForm' because 'Auditor.ArchiveForm' does not contain a public definition for 'GetEnumerator' C:\Temp_Eric\ Auditor\Auditor\ArchiveForm.cs 20 17 Auditor
    bref c'est pas cool ;-) Je comprends bien ce que ca veut dire mais je ne vois pas trop comment je peux y remedier ...
    Si qqun peut me dire si je suis completement dans l'erreur au niveau de la methode ou si il y a un moyen de contourner cette erreur de compilation en rajoutant qqch dans ma form ca serait vraiment tres sympa et me permettrait de bien commencer ma semaine lundi ;-) (oui ici la semaine est deja fini grace au decalage horaire ;-), c'est aussi pour ca que je m'excuse pour l'absence d'accents je suis sur du qwerty ...)

    Merci d'avance.

    Eric

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    foreach (Button currentBtn in this.Controls)

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    hey merci ca ma permit de me debloquer tres vite ;-)

    Comme j'etais dans un TabControl contenant autre chose que des boutons j'ai du en rajouter un peu pour ceux que ca interesserait je met le bout de code ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    foreach (Button currentBtn in this.tab.TabPages[SummaryTab.Name].Controls.OfType<Button>())
                    {
                        if (currentFile.Extension == currentBtn.Text.Substring(currentBtn.Text.IndexOf("(")+1, 3))
                            currentBtn.BackColor = System.Drawing.Color.Lime;
                    }
    voila
    encore merci je vais rajouter le tag resolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2012, 21h10
  2. ajuster l'affichage des bouton dans une forme large
    Par tvcinq dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 30/09/2010, 17h56
  3. Ancrage d'un bouton dans une Form
    Par Charly910 dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2009, 14h31
  4. Menu a partir d'un bouton dans une form
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 18/06/2008, 07h59
  5. Bouton "quitter" dans une forme vb6
    Par lebienestrare dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/09/2006, 17h32

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