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

Framework .NET Discussion :

[Winforms] Lenteur du dessinement des fenêtres


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut [Winforms] Lenteur du dessinement des fenêtres
    Bonjour,

    Je développe actuellement une application .NET (C#) et je rencontre un problème lors du dessinement des fenêtres.
    Je travaille sur un projet contenant un ParentMDI, et lorsque j'ajoute des forms à l'intérieur, on les voit clairement se dessiner. Si je les fait se chevaucher, puis que j'appelle une feuille en dessous d'une autre, là aussi, on voit clairement les contrôles de la feuille se re-redessiner.

    Ce comportement est génant pour l'utilisateur et le problème ne semble se produire qu'à l'intérieur d'un ParentMDI.

    Quelqu'un a-t-il déjà rencontré ce problème ? Quelqu'un a-t-il une solution ?

    Je vous remercie d'avance

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    je connais pas la réponse mais concernant le dessin d'une form, tu as toujours deux pistes à suivre

    - doublebuffer pour tout ce qui est clignotement ou autre
    - resumeLayout et suspendLayout


    je crois que c'est la solution deux dans ton cas

  3. #3
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Cela peut également être du à un nombre trop important de contrôles sur une Form, ou à une hiérarchie de contrôles conteneurs trop profonde.
    Auquel cas la réponse est de simplifier l'IHM

  4. #4
    Membre averti
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Par défaut
    En fait, le problème vient du fait que je travaille sur des feuillles incluses dans un MDIParent. Le problème se présente même avec des feuilles contenant très peu de contrôles.
    J'ai trouvé une solution, il suffit d'appeler la méthode refresh pour chaque form lorsque l'evenement activated est reçu. Le résultat est très satisfaisant. Ceci est couplé avec DoubleBuffer à true sur les fenêtres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Dans le code de la form MyForm
    private void MyForm_Activated(object sender, EventArgs e)
    {
    this.Refresh();
    }
    Concernant les méthodes resumeLayout et suspendLayout, je ne sais pas trop ou les mettre sachant que mes fenêtres sont créées avec Visual Studio et le concepteur intégré.

    Merci pour vos réponses

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

Discussions similaires

  1. Dessiner des objets OpenGL dans une fenêtre
    Par dourouc05 dans le forum Téléchargez
    Réponses: 0
    Dernier message: 09/11/2010, 20h52
  2. [Windows] Dessiner des boutons de fenêtre (Fermer, etc.)
    Par Der Drachen dans le forum Plateformes
    Réponses: 2
    Dernier message: 11/06/2010, 18h20
  3. Réponses: 10
    Dernier message: 15/04/2008, 15h26
  4. Lenteur d'affichage des fenêtre et des données
    Par napegadie dans le forum VB.NET
    Réponses: 0
    Dernier message: 27/08/2007, 16h32
  5. Comment dessiner lignes entre des fenêtres ?
    Par Hauwke dans le forum Langage
    Réponses: 5
    Dernier message: 17/11/2005, 12h33

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