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 :

Probleme scintillement des boutons-images


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Points : 41
    Points
    41
    Par défaut Probleme scintillement des boutons-images
    Bonjour,

    J'utilise des User Control avec des buttons.
    Sur ces buttons, je met un backgroundImage que j'alimente au travers de Project Ressource File.

    Hors quand je charge mon UserControl, mes boutons scintillent lors du chargement.

    Comment pallier à ce problème qui doit être un classique?

    J'utilise le framework 2.0

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    bienvenue dans le monde merveilleux de GDI+

    sur la fenetre :
    dans le new : me.opacity = 0
    et avec un timer à 5ms : me.opacity = 1

    l'affichage de la fenetre est alors instantané et on ne voit pas tous les controles se construire
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Tu es tombé dans le piège!

    J'utilise un UserControl donc la propriété Opacity n'est pas disponible à ma connaissance.

    Merci quand même, une autre idée?

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    j'ai précisé sur la fenetre, ton usercontrol n'est pas dans le vent à priori (bien qu'il pourrait ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Citation Envoyé par sperot51 Voir le message
    bienvenue dans le monde merveilleux de GDI+

    sur la fenetre :
    dans le new : me.opacity = 0
    et avec un timer à 5ms : me.opacity = 1

    l'affichage de la fenetre est alors instantané et on ne voit pas tous les controles se construire
    Ca à pas l'air de marcher en MDI chez moi, l'opacity = 0 n'a pas d'effet (test avec un timer à 5 secondes et la fenêtre fille s'affiche de suite quand même) , je suppute un opacity = 1 qui traîne dans la gestion MDI ... faut vraiment que j'arrête ce truc moi !

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    essaye opacity sur les fenetres filles

    le timer peut etre à 1ms meme, ca suffit
    nous on a des fenetre aveec plusieurs grid et plein de boutons
    sans opacity ca mets entre 2 et 3 secondes pour que la fenetre apparaisse totalement (sur un dual core 2Go de ram) et c'est affreux le scintillement

    en mettant opacity et le timer à 1ms, le fenetre apparait quand meme au bout de 2 ou 3s mais elle apparait en une seule fois
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    j'ai précisé sur la fenetre, ton usercontrol n'est pas dans le vent à priori (bien qu'il pourrait ...)
    Mon problème est bien sur les UserControls.

    En fait je développe, avec une form dans la quelle je met successivement un UC. Peut t'on faire de même en utilisant que des forms (Si on peut enlever le scintillement des forms) , sachant que la fenêtre ne doit pas bouger, pas de rechargement dans la barre de taches(entre les changement de form, ...), ...

    Merci d'avance

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    si tu fais un truc qui ressemble au wizard et que tu change le usercontrol qui est dedans, remplacer le tout par des fenetres sera pire

    par contre il est peut etre possible de mettre une fenetre dans une fenetre, dans le pire des cas par mdi
    mais olsimare avait l'air de dire que ca ne fonctionnait pas pour le mdi ...

    passe sous vs2008 et wpf, il n'y a plus de scintillement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    mais ce n'est pas pour cela que ce sera plus rapide. WPF sur des configs modeste (centrino/1GO de ram, carte video non dédiée) ca rame...
    Petite question: combien as-tu de controles dans tes UC?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Je dirais une quarantaine de controls.

Discussions similaires

  1. Réponses: 18
    Dernier message: 24/11/2008, 18h26
  2. Probleme avec des boutons
    Par ocean24 dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 11/07/2007, 14h18
  3. utiliser des morceaux d'une image pour faire des boutons
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 14/12/2005, 00h05
  4. Insertion des boutons et des images dans une JTable
    Par anouar dans le forum Composants
    Réponses: 2
    Dernier message: 17/11/2005, 20h23

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