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 :

C# contint-il Friend WithEvents ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut C# contint-il Friend WithEvents ?
    bonjour,
    j'ai créé une class dans un projet C#, cette classe contient une boucle qui dure un peu longtemps. J'ai ajouté une ProgressBar à la feuille principale du projet, mais je sais pas comment lier la progressbar avec la class qui est évidemment hors de portée de définition de l'objet progressbar.
    je note que dans visual basic je pouvais manipuler mes objets créés dans la feuille principale parcequ'ils étaient des objets Friend WithEvents!
    j'aimerais etre bien compréhensible,
    merci

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par subzero01 Voir le message
    j'aimerais etre bien compréhensible,
    Moi aussi j'aimerais.

    Hum peut-être pourrais tu rajouter un évènement que tu lancerais à chaque tour de boucle.

    De l'autre côté tu t'abonnes à l'évènement et dans la méthode tu fais progress ta progressbar.

    Encore faudrait-il connaitre le nombre de boucle max pour définir un max sur ta progressbar, pour ça une simple propriété et c'est bon.

    Ou au pire une référence sur ta progressbar dans ta classe, mais ça c'est super crade.

  3. #3
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    a ce que je comprend, la réponse a la question du titre du sujet est bien "non" !?
    il n'existe pas de fameux mot clé Friend dans C# ?
    si c'est le cas, je pense la solution avec evenement est plus peatique, mais le probleme c'est j'y suis pas habitué !

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Euh oui la réponse est non il n'existe pas d'équivalent en C#.

  5. #5
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    merci pour la réponse,
    en fait si je veux procéder par la création d'une propriété pourriez vous me donner un coup de pousse comment le faire ? car ce sont mes premier pas en C#

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    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
     
    class ClasseAvecBoucle
    {
        private const int MAX_BOUCLE = 1000;
     
        public int Maximum
        {
            get { return MAX_BOUCLE; }
        }
     
        public delegate void BoucleHandler();
     
        public event BoucleHandler ProgressChanged;
     
        public void DoBoucle()
        {
            for (int i = 0; i < MAX_BOUCLE; i++)
            {
                /* instructions */
                if (ProgressChanged != null)
                {
                    ProgressChanged.Invoke();
                }
            }
        }
    }
    Et de l'autre côté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void Form1_Load(object sender, EventArgs e)
    {
        ClasseAvecBoucle classBoucle = new ClasseAvecBoucle();
        classBoucle.ProgressChanged += new ClasseAvecBoucle.BoucleHandler(classBoucle_ProgressChanged);
        progressBar1.Maximum = classBoucle.Maximum;
        classBoucle.DoBoucle();
    }
     
    void classBoucle_ProgressChanged()
    {
        progressBar1.Increment(1);
    }

  7. #7
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    merci tres bien
    ca me sera tres util

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Skyrunner Voir le message
    Euh oui la réponse est non il n'existe pas d'équivalent en C#.
    Ce n'est pas tout à fait exact... au début c'est ce que je croyais aussi, parce que je pensais à la signification de "friend" en C++, mais ça n'a rien à voir en VB. Si j'en crois ce que j'ai vu dans la doc, "Friend" en VB est l'équivalent de "internal" en C#, c'est à dire accessible par tous les membres de l'assembly dans lequel c'est déclaré. Par contre je ne vois pas l'utilité pour ce que veut faire subzero01...
    Quand à WithEvent, effectivement ça n'existe pas en C#, c'est implicite.

  9. #9
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ce n'est pas tout à fait exact... au début c'est ce que je croyais aussi, parce que je pensais à la signification de "friend" en C++, mais ça n'a rien à voir en VB. Si j'en crois ce que j'ai vu dans la doc, "Friend" en VB est l'équivalent de "internal" en C#, c'est à dire accessible par tous les membres de l'assembly dans lequel c'est déclaré. Par contre je ne vois pas l'utilité pour ce que veut faire subzero01...
    Quand à WithEvent, effectivement ça n'existe pas en C#, c'est implicite.
    Ah ok j'ai moi aussi pensé au friend du C++.
    Et en y réflechissant je vois pas non plus l'intéret dans ce qu'il veut faire.

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

Discussions similaires

  1. utilisation justifiée de "friend" ?
    Par isidore dans le forum C++
    Réponses: 5
    Dernier message: 08/06/2005, 21h50
  2. Templates et friend
    Par Asarnil dans le forum C++
    Réponses: 6
    Dernier message: 05/01/2005, 19h26
  3. Fonctions template+friend sous VC7
    Par patapetz dans le forum MFC
    Réponses: 12
    Dernier message: 24/09/2004, 11h16
  4. Réponses: 3
    Dernier message: 16/04/2004, 16h51
  5. [VB6]Tableau d'objet withevents
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/02/2004, 19h44

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