2010-12-13 18 views
0

J'ai un formulaire principal qui a un StatusStrip en bas. Dans cette bande, je montre une étiquette contenant des informations sur la dernière opération. Cela se fait comme ceci:StatusStrip provoque le flou d'arrière-plan

dans le constructeur de forme:

console.added += new EventHandler<Eventargs>(showlast); 

console.added est un événement personnalisé, qui est exécuté à chaque fois que quelque chose est ajouté à la liste de la console. suivant la eventfunction:

private void showlast(object sender, EventArgs e) 
{ 
    statusStripLabel1.Text = console.clist.Last().ToString().Replace('\t',''); 
} 

tout clist est le ListElement de la console de classe statique qui contient mes entrées de la console. Maintenant, que se passe-t-il: si j'affiche une autre forme sur la mainform qui contient du code, qui ajoute des entrées à la console chaque fois que la console est mise à jour, le fond scintille en arrière-plan. Depuis la forme principale est en plein écran et la plupart des autres formes sont plutôt des fenêtres d'outils, cela ne peut pas être supervisé :)

Savez-vous un moyen de ne pas charger tout le formulaire lorsque la bande est mise à jour? (Si c'est la raison?). Sinon, je vais juste devoir enlever la bande - mais bien sûr je voudrais le garder :)

Merci pour vos réponses à l'avance !!

+0

Vérifiez si l'événement de redimensionnement pour le StatusStrip est en cours. –

Répondre

0

Il y a quelques choses que vous pouvez essayer:

1) Définir DoubleBuffered = 'True' sur Form.

2) Avant de régler statusStripLabel1.Text, vérifiez si le texte existant n'est pas le même.

+0

Merci pour votre réponse rapide - mais il n'a pas fait l'affaire ... Je ne connaissais pas DoubleBuffered avant et la description sonne parfaite pour cela mais comme je l'ai dit, cela n'a pas fonctionné. Maintenant, la chose qui scintille vraiment est mon image de fond de formulaire principal ... elle est assignée dans le constructeur et non dans la méthode load() mais cela ne semble pas changer quoi que ce soit. Oh et vérifier le texte pour la duplicité ne fonctionnera pas car ce n'est (presque) jamais le même. – Lorenz

+0

La raison pour laquelle j'ai mis le point # 2 était d'enlever si des appels fréquents à cette méthode avec la même valeur. – decyclone