OVH Cloud OVH Cloud

Mon treeview "flash" lorsque je change les texts des noeuds

5 réponses
Avatar
Bull
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un treeview
dans mon application et je dois régulièrement changer le texte de plusieurs
noeuds. Le problème est qu'à chaque fois, le treeview "flashe" / "clignote".
Comment éviter cela car c'est vraiment très désagréable pour l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull

5 réponses

Avatar
Sébastien
Salut,

est ce que tu as essayer suspendlayout et resume layout ?
(enfin les fonction doivent ressembler a un truc comme sa)
tu suspend le rafraichissement avants tes modifications et tu le reactive
une fois ta série de modifications terminées.

a++
seb


"Bull" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un
treeview dans mon application et je dois régulièrement changer le texte de
plusieurs noeuds. Le problème est qu'à chaque fois, le treeview "flashe" /
"clignote". Comment éviter cela car c'est vraiment très désagréable pour
l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull





Avatar
Bull
Salut Seb,

Oui, j'ai essayé. Cela réduit un peu les clignotements mais cela reste. Je
ne peux pas suspendre durant tout le processus le layout du treeview car
j'ai besoin que l'utilisateur voit les modifications au fur et à mesure.

Les opérations qui font flashé le treeview sont les lignes suivantes :

n.NodeFont = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Regular)

n.Text = "texte du noeud"

Où n est un treenode bien sûr

Une autre idée qui pourrait résoudre ce problème ?

Merci d'avance
--
Cordialement,
Bull


"Sébastien" <Aucun> a écrit dans le message de news:

Salut,

est ce que tu as essayer suspendlayout et resume layout ?
(enfin les fonction doivent ressembler a un truc comme sa)
tu suspend le rafraichissement avants tes modifications et tu le reactive
une fois ta série de modifications terminées.

a++
seb


"Bull" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un
treeview dans mon application et je dois régulièrement changer le texte
de plusieurs noeuds. Le problème est qu'à chaque fois, le treeview
"flashe" / "clignote". Comment éviter cela car c'est vraiment très
désagréable pour l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull









Avatar
Sébastien
hum ...
difficile, si tu veux que la personne voie les modifications en cours et que
ce la ne cligotte pas ...

peu etre que tu pourrai magouiller un truc du genre stocker dans un bitmap
l'image de ton treeView... et de le reaficcher par dessu pour que le
clignottement soit moindre ... tu ferai un reaffichage de ce bitmap mis a
jour toute les secondes ... (un copain a fais sa pour enlever le
clignotement sur un autre composant, mais je trouve cela lourds). perso
j'avais le meme probleme en dessinant une form, et a la longue je l'ai
laisser, sa me prenais trop la tete de chercher pour un petit truc.
Maintenans si c une application que tu distribue a des client ... c plus
embetant...

Mais si qq a une solution je suis preneur aussi !

a++
seb


"Bull" a écrit dans le message de news:

Salut Seb,

Oui, j'ai essayé. Cela réduit un peu les clignotements mais cela reste. Je
ne peux pas suspendre durant tout le processus le layout du treeview car
j'ai besoin que l'utilisateur voit les modifications au fur et à mesure.

Les opérations qui font flashé le treeview sont les lignes suivantes :

n.NodeFont = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Regular)

n.Text = "texte du noeud"

Où n est un treenode bien sûr

Une autre idée qui pourrait résoudre ce problème ?

Merci d'avance
--
Cordialement,
Bull


"Sébastien" <Aucun> a écrit dans le message de news:

Salut,

est ce que tu as essayer suspendlayout et resume layout ?
(enfin les fonction doivent ressembler a un truc comme sa)
tu suspend le rafraichissement avants tes modifications et tu le reactive
une fois ta série de modifications terminées.

a++
seb


"Bull" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un
treeview dans mon application et je dois régulièrement changer le texte
de plusieurs noeuds. Le problème est qu'à chaque fois, le treeview
"flashe" / "clignote". Comment éviter cela car c'est vraiment très
désagréable pour l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull













Avatar
David Bouchard
Salut, enfaite, à tu essayer BeginUpdate et lorsque tu as fini la
modification, EndUpdate, tu vois voir une amélioration, tout de moins, je
l'espère

David

"Sébastien" <Aucun> a écrit dans le message de news:

hum ...
difficile, si tu veux que la personne voie les modifications en cours et
que ce la ne cligotte pas ...

peu etre que tu pourrai magouiller un truc du genre stocker dans un bitmap
l'image de ton treeView... et de le reaficcher par dessu pour que le
clignottement soit moindre ... tu ferai un reaffichage de ce bitmap mis a
jour toute les secondes ... (un copain a fais sa pour enlever le
clignotement sur un autre composant, mais je trouve cela lourds). perso
j'avais le meme probleme en dessinant une form, et a la longue je l'ai
laisser, sa me prenais trop la tete de chercher pour un petit truc.
Maintenans si c une application que tu distribue a des client ... c plus
embetant...

Mais si qq a une solution je suis preneur aussi !

a++
seb


"Bull" a écrit dans le message de news:

Salut Seb,

Oui, j'ai essayé. Cela réduit un peu les clignotements mais cela reste.
Je ne peux pas suspendre durant tout le processus le layout du treeview
car j'ai besoin que l'utilisateur voit les modifications au fur et à
mesure.

Les opérations qui font flashé le treeview sont les lignes suivantes :

n.NodeFont = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Regular)

n.Text = "texte du noeud"

Où n est un treenode bien sûr

Une autre idée qui pourrait résoudre ce problème ?

Merci d'avance
--
Cordialement,
Bull


"Sébastien" <Aucun> a écrit dans le message de news:

Salut,

est ce que tu as essayer suspendlayout et resume layout ?
(enfin les fonction doivent ressembler a un truc comme sa)
tu suspend le rafraichissement avants tes modifications et tu le
reactive une fois ta série de modifications terminées.

a++
seb


"Bull" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un
treeview dans mon application et je dois régulièrement changer le texte
de plusieurs noeuds. Le problème est qu'à chaque fois, le treeview
"flashe" / "clignote". Comment éviter cela car c'est vraiment très
désagréable pour l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull

















Avatar
Bull
Salut David,

J'ai essayé et il y a une amélioration sensible. Cela se suffit pour
l'instant.

Merci :-)

--
Cordialement,
Bull


"David Bouchard" a écrit dans le message de news:
e%
Salut, enfaite, à tu essayer BeginUpdate et lorsque tu as fini la
modification, EndUpdate, tu vois voir une amélioration, tout de moins, je
l'espère

David

"Sébastien" <Aucun> a écrit dans le message de news:

hum ...
difficile, si tu veux que la personne voie les modifications en cours et
que ce la ne cligotte pas ...

peu etre que tu pourrai magouiller un truc du genre stocker dans un
bitmap l'image de ton treeView... et de le reaficcher par dessu pour que
le clignottement soit moindre ... tu ferai un reaffichage de ce bitmap
mis a jour toute les secondes ... (un copain a fais sa pour enlever le
clignotement sur un autre composant, mais je trouve cela lourds). perso
j'avais le meme probleme en dessinant une form, et a la longue je l'ai
laisser, sa me prenais trop la tete de chercher pour un petit truc.
Maintenans si c une application que tu distribue a des client ... c plus
embetant...

Mais si qq a une solution je suis preneur aussi !

a++
seb


"Bull" a écrit dans le message de news:

Salut Seb,

Oui, j'ai essayé. Cela réduit un peu les clignotements mais cela reste.
Je ne peux pas suspendre durant tout le processus le layout du treeview
car j'ai besoin que l'utilisateur voit les modifications au fur et à
mesure.

Les opérations qui font flashé le treeview sont les lignes suivantes :

n.NodeFont = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Regular)

n.Text = "texte du noeud"

Où n est un treenode bien sûr

Une autre idée qui pourrait résoudre ce problème ?

Merci d'avance
--
Cordialement,
Bull


"Sébastien" <Aucun> a écrit dans le message de news:

Salut,

est ce que tu as essayer suspendlayout et resume layout ?
(enfin les fonction doivent ressembler a un truc comme sa)
tu suspend le rafraichissement avants tes modifications et tu le
reactive une fois ta série de modifications terminées.

a++
seb


"Bull" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un problème que je n'arrive vraiment pas à résoudre : j'ai un
treeview dans mon application et je dois régulièrement changer le
texte de plusieurs noeuds. Le problème est qu'à chaque fois, le
treeview "flashe" / "clignote". Comment éviter cela car c'est vraiment
très désagréable pour l'utilisateur ?

Merci d'avance à tous,

--
Cordialement,
Bull