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 :

Aide pour objets.


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 31
    Points
    31
    Par défaut Aide pour objets.
    Voilà,je ne sais pas comment faire pour créer un objet me permettant d'éviter de créer 2 fois un ensemble de 3 fonctions qui fait la même chose où seules les valeurs changent.
    Si vous avez des liens pour de bon tutos,ou de l'aide à m'apporter.
    J'ai déja rechercher dans pas mal de tuto,mais ce n'est pas encore du tout clair pour moi.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    private void button1_Click(object sender, EventArgs e)
            {
     
                    MessageBox.Show("Veuillez selectionner le repertoire LearningBase situé dans le Spool ");
                    FolderBrowserDialog ff = new FolderBrowserDialog();
                    ff.ShowDialog();
     
                    textBox1.Text = ff.SelectedPath;
                    parentDirectory = new DirectoryInfo(textBox1.Text);
                    DirectoryInfo[] directories = parentDirectory.GetDirectories();
                    listview.Items.Clear();
                    listview.Columns.Add("Patron", +50, HorizontalAlignment.Left);
                    listview.Columns.Add("FolderID",-2, HorizontalAlignment.Left);
     
                    foreach (DirectoryInfo directory in directories)
                    {
     
                        string sligne = "";
                        string nomfolder = parentDirectory + "\\" + directory + "\\" + "\\" + "folderID.txt";
                        StreamReader rec = new StreamReader(nomfolder);
                        ArrayList arrText = new ArrayList();
                        while (sligne != null)
                        {
                            sligne = rec.ReadLine();
                            if (sligne != null)
                                arrText.Add(sligne);
                        }
                        rec.Close();
     
     
     
                        foreach (string sortie in arrText)
                        {
     
                            ListViewItem lvi = new ListViewItem(new string[] { directory.ToString(), sortie });
     
                            listview.Items.Add(lvi);
     
     
                        }
     
                }
     
            }
            private void Form1_Load(object sender, EventArgs e)
            {
            }
     
            String destination;
     
     
     
            private void listview_SelectedIndexChanged(object sender, EventArgs e)
            {
     
                if (listview.SelectedItems.Count > 0 && listview.SelectedItems.Count < 2)
     
                {
                    string filename;
                    string result;
                    String destination = listview.SelectedItems[0].Text;
                    String nomfolder = parentDirectory + "\\" + destination;
                    string[] ajoutlistpat = Directory.GetFiles(nomfolder);
                    for (int i = 0; i < ajoutlistpat.Length; i++)
                    {
     
                        filename = ajoutlistpat[i];
                        result = Path.GetFileName(filename);
                        if (result != "folderID.txt")
                        {
                            listepat.Items.Add(result);
                        }
     
     
     
     
                }
                    }
     
            }
     
            private void listepat_SelectedIndexChanged(object sender, EventArgs e)
            {
                destination = listview.SelectedItems[0].Text;
                String myPath2 = parentDirectory + "\\" + destination;//On concave 2 chaines
                string Folder = listepat.SelectedItem.ToString();
                string sligne = "";
                String myPath3 = myPath2 + "\\" + Folder;
                int cpt = 0;
                int cpt1 = 0;
                int cpt2 = 0;
                int cpt3 = 0;
     
     
                try
                {
                if (listepat.SelectedItem.ToString() == "folderID.txt")
     
                {
                    StreamReader rec = new StreamReader(myPath3);
                    ArrayList arrText = new ArrayList();
                    while (sligne != null)
                    {
                        sligne = rec.ReadLine();
                        if (sligne != null)
                            arrText.Add(sligne);
                    }
                    rec.Close();
                }
                else
                {
                    {
                        XmlTextReader lecteur1 = new XmlTextReader(myPath3);
                        XmlDocument doc1 = new XmlDocument();
                        doc1.Load(lecteur1);
                        int nbElementMono1 = doc1.GetElementsByTagName("ElementExtractorMono.3").Count;
                        int nbElementWord1 = doc1.GetElementsByTagName("ElementIdentificatorWord.6").Count;
                        Console.ReadLine();
                        textBox3.Text = "ElementExtractorMono :" + nbElementMono1.ToString() + "    " + "ElementIdentificatorWord :" + nbElementWord1.ToString();
                    }
                }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("erreur");
                }
                }

  2. #2
    Membre averti
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Points : 390
    Points
    390
    Par défaut
    houlala reprend depuis le début je comprend absolument pas ce que tu veut faire. si ce que tu veut dire c'est que button1_click, listview_selectedindexchanged et list path_selectedindexchanged font la meme chose et que tu veut éviter de copier 3 fois le même code, ta juste a apller une fonction
    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
     
    private void button1_Click(object sender, EventArgs e)
            {
     
                    mafonction(int valeur1, string valeur2,...);
            }
       private void listview_SelectedIndexChanged(object sender, EventArgs e)
            {
            mafonction(int valeur1, string valeur2,...);
            }
     
          private void listepat_SelectedIndexChanged(object sender, EventArgs e)
            {
                mafonction(int valeur1, string valeur2,...);
                }
     
    private void mafonction(int v1, string v2,...)
    {
    //traitements avec tes valeurs
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 31
    Points
    31
    Par défaut
    Non je veux créer une class avec ces 3 fonctions,et pouvoir réutiliser cette class avec d'autre données pour les fonctions.

  4. #4
    Membre averti
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Points : 390
    Points
    390
    Par défaut
    je comprend toujours pas pourquoi tu veut faire ça
    déja si c'est trois traitements doivent être utilisé autre part que lors de tes evenement il faut que tu les sorte des evenement, de la manière que je l'ai faite (en une fonction ou en trois ca dépend si elles doivent réaliser la meme chose).
    Après si tu veux pouvoir réaliser ces fonctions dans d'autres formes, met les dans une classe statique
    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
     
    public static class traitements
    {
     
    public static void fonction1(...)
    {
    ...
    }
     
    public static void fonction2(...)
    {
    ...
    return(...);
    }
    }
    tu l'appelle ensuite a partir de ta form de cette maniere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    traitement.fonction1();
    je ne crois pas que j'ai quand meme saisi ton probleme, essaye d'etre plus clair

  5. #5
    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
    Si tu as plusieurs forms avec des contrôles et/ou du code similaire, utilise l'héritage.

    C'est à dire que tu crées une Form (FormMère), qui contient tout le code et les contrôles communs ; après, tu dérives cette Form (FormFille1, FormFille2) dans lesquelles tu laisse le code propre à chacune.
    ಠ_ಠ

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Si tu as plusieurs forms avec des contrôles et/ou du code similaire, utilise l'héritage.

    C'est à dire que tu crées une Form (FormMère), qui contient tout le code et les contrôles communs ; après, tu dérives cette Form (FormFille1, FormFille2) dans lesquelles tu laisse le code propre à chacune.
    Merci,c'est celà que je veux faire.
    Désolé bobby51 si je me suis mal exprimé.

  7. #7
    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
    Et donc ? C'est bon ?
    ಠ_ಠ

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 31
    Points
    31
    Par défaut
    Edit : j'ai crée un form hérité,je vais essayer de me débrouiller avec cela.

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/01/2013, 16h25
  2. Besoin d'aide pour utilisation de tableaux d'objets
    Par Tagazouh dans le forum Débuter
    Réponses: 16
    Dernier message: 15/04/2012, 11h26
  3. Aide pour creer une palette graphique sur un objet
    Par irsis60 dans le forum Services
    Réponses: 1
    Dernier message: 05/03/2010, 11h46
  4. Aide pour l'objet TChart.
    Par Baium dans le forum C++Builder
    Réponses: 1
    Dernier message: 10/01/2006, 19h48

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