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 :

Problème de Paint


Sujet :

C#

  1. #1
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Problème de Paint
    Bonjour,

    J'ai actuellement un problème que je ne comprend pas, j'ai créer une Windows Form qui contient une méthode Load, Paint et d'autres méthodes personnelles, dans une méthode personnelle je rafraichis ma fenêtre avec "this.Refresh()" et logiquement lorsque la fenêtre est redessinée la méthode Paint est appelée, or ce n'est pas le cas dans ma Form où ma ma méthode Paint n'est jamais utilisée, même à l'ouverture de ma Form. Je ne comprend pas ce phénomène, est-ce un bugg de Visual Studio? C'est la première fois que ça m'arrive

    Ps : J'ai bien ajouté ma méthode Paint en double cliquant sur l'événement "Paint" dans le Design où l'on dessine la Form.

    Merci d'avance.

  2. #2
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu as essayé de mettre un point d'arrêt dans ta méthode Paint pour vérifier si elle est appelée ? Tu es sûr que ta méthode est bien liée à l'évènement Paint ? (vérifie dans la grille des évènements dans les propriétés de la Form)

  3. #3
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Oui j'ai mis un point d'arrêt et la méthode n'est jamais appelée... J'ai effectivement bien liée la méthode à l’événement depuis la grille des événements de la propriétés de la form, je ne comprend pas pourquoi elle n'est pas appelée...

  4. #4
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par adrianolimit Voir le message
    J'ai effectivement bien liée la méthode à l’événement depuis la grille des événements de la propriétés de la form
    Oui mais tu es sûr que le lien n'a pas sauté après ? Parce que sinon je ne vois vraiment aucune raison que la méthode ne soit pas appelée...

    Sinon, plutôt que de gérer l'évènement Paint, tu peux essayer d'overrider la méthode OnPaint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        ...
    }

  5. #5
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Je ne comprends pas car en faisant du pas à pas et en mettant des message de Debug je constate que la méthode de mon Paint n'est jamais ouverte alors qu'elle devrait l'être. C'est la première fois que cela m'arrive et je ne sais pas quoi faire car habituellement ça va tout seul.

  6. #6
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Si c'est pas trop long, montre ton code

    Il doit y avoir un lezard trop gros pour etre vu !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  7. #7
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Mon code est très simple :

    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 Form1_Load (object sender, EventArgs e)
    { 
        maj_bouton();
    }
     
    private void Form1_Paint (object sender, PaintEventArgs e)
    {
       /* Je n'arrive pas à entrer dans mon Paint... */
        label_1.Text = "Accepté";
     
    }
     
    private void maj_bouton()
    {
        label_2.Text = "Décision";
        this.Refresh();
    }

  8. #8
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tu as surement loupé l'abonnement a l'event ?

    1- As tu mis un break point sur

    label_1.Text = "Accepté";

    AVANT d'executer le projet !

    2- As tu déja été revoir la liste des event dans le designer et double cliqué sur l'event Paint de la FORM pour voir si le designer te renvoyais bien sur ta méthode ?

    3- Passe tu dans le Load au moins (voir si c'est bien cette form là que tu execute ......)
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  9. #9
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    1) Oui j'ai mis un point d'arrêt sur 'label_1.Text' avant d'exécuter le projet et il ne passe jamais dedans.

    2) En double cliquant sur l'évenement Paint de la grille des événements il me renvoie bien à ma méthode Paint que j'ai actuellement.

    3) Je passe bien dans mon Load et même dans mon autre méthode mais pas dans mon Paint...

    Problème introuvable

    On dit qu'impossible n'est pas français alors je crois que cette fois-ci je vais changer de nationalité

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Et ta form elle s'affiche au moins !

    Tu n'aurais pas un close lié a ton load ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  11. #11
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Oui oui ma Form s'affiche, il n'a pas de Close lié à mon Load, je ne comprend vraiment pas le phénomène qui se produit

  12. #12
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Si tu appelle la methode Refresh()

    Il y a FORCEMENT un Paint qui se fait

    Donc pour avoir le coeur net je te suggere d'activer le refresh a partir d'un bouton de ton choix et verifier Si paint est bien appelé
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  13. #13
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    A force de supprimer ma méthode Paint et de la rajouter en cliquant dans la fenêtre de propriétés des événements celle-ci est enfin appelée, je ne sais pas pourquoi elle est maintenant appelée alors qu'avant non.
    Mais bon l'essentiel est que tout cela tourne.

    Merci de vos aides.

    Cordialement

  14. #14
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Mmmouais !

    J'en reviens plutot a ce que je disais au début

    Il doit y avoir un lezard trop gros pour etre vu !
    La grosse majorités des bugs "impossibles" ou "Introuvable" viennent juste du fait qu'ils sont tellement idiots qu'on les cherche ailleurs parce qu'inconsciement c'est plus difficile d'attaque la stupide et trop simple réalité !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

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

Discussions similaires

  1. Probléme dans paint
    Par owenho dans le forum Windows 7
    Réponses: 8
    Dernier message: 15/10/2013, 01h13
  2. Problème Event Paint
    Par Kropernic dans le forum VB.NET
    Réponses: 8
    Dernier message: 10/09/2013, 14h16
  3. Problème de paint avec un composant personnalisé
    Par yuuzhantar dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 21/08/2009, 11h48
  4. [VB.Net 2005] - Problème Paint UserControl
    Par Flibustier dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/10/2006, 11h47
  5. problème de méthode paint()
    Par guillaumeM63 dans le forum 2D
    Réponses: 2
    Dernier message: 16/05/2006, 23h50

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