j'ai constaté avec étonnement, que lorsque je modifie une des popriétés
d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que
lorsque je modifie plusieurs subitems assez rapidement (surtout leur
couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez
désagréable.
J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement
OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé
dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne
fonctionne pas car je ne peux obtenir les coordonnées de la cellule à
redessiner.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Boris! :O)
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
-- Cordialement Yanick MVP pour Visual Basic "Boris Sargos" a écrit dans le message de news:41df16e1$0$8040$
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que lorsque je modifie plusieurs subitems assez rapidement (surtout leur couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez désagréable. J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne fonctionne pas car je ne peux obtenir les coordonnées de la cellule à redessiner.
Quelqu'un a une idée ? Merci.
Salut Boris! :O)
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
--
Cordialement
Yanick
MVP pour Visual Basic
"Boris Sargos" <bsargos@wanadoo.fr> a écrit dans le message de
news:41df16e1$0$8040$8fcfb975@news.wanadoo.fr...
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés
d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que
lorsque je modifie plusieurs subitems assez rapidement (surtout leur
couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez
désagréable.
J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement
OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé
dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne
fonctionne pas car je ne peux obtenir les coordonnées de la cellule à
redessiner.
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
-- Cordialement Yanick MVP pour Visual Basic "Boris Sargos" a écrit dans le message de news:41df16e1$0$8040$
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que lorsque je modifie plusieurs subitems assez rapidement (surtout leur couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez désagréable. J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne fonctionne pas car je ne peux obtenir les coordonnées de la cellule à redessiner.
Quelqu'un a une idée ? Merci.
MrChris
Ou bien listview.beginupdate et listview.endupdate... (de mémoire...)
@+ MrChris
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news: %23$
Salut Boris! :O)
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
-- Cordialement Yanick MVP pour Visual Basic "Boris Sargos" a écrit dans le message de news:41df16e1$0$8040$
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que lorsque je modifie plusieurs subitems assez rapidement (surtout leur couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez désagréable. J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne fonctionne pas car je ne peux obtenir les coordonnées de la cellule à redessiner.
Quelqu'un a une idée ? Merci.
Ou bien listview.beginupdate et listview.endupdate...
(de mémoire...)
@+
MrChris
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: %23$WtKNy9EHA.1084@TK2MSFTNGP15.phx.gbl...
Salut Boris! :O)
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
--
Cordialement
Yanick
MVP pour Visual Basic
"Boris Sargos" <bsargos@wanadoo.fr> a écrit dans le message de
news:41df16e1$0$8040$8fcfb975@news.wanadoo.fr...
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés
d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que
lorsque je modifie plusieurs subitems assez rapidement (surtout leur
couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez
désagréable.
J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement
OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé
dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne
fonctionne pas car je ne peux obtenir les coordonnées de la cellule à
redessiner.
Ou bien listview.beginupdate et listview.endupdate... (de mémoire...)
@+ MrChris
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news: %23$
Salut Boris! :O)
Regarde du côté des méthodes SuspendLayout() et ResumeLayout().
-- Cordialement Yanick MVP pour Visual Basic "Boris Sargos" a écrit dans le message de news:41df16e1$0$8040$
Salut à tous,
j'ai constaté avec étonnement, que lorsque je modifie une des popriétés d'un ListViewItem, tout le contrôle ListView est redessiné. Si bien que lorsque je modifie plusieurs subitems assez rapidement (surtout leur couleur d'arrière-plan), ça crée la pagaille, c'est lent et assez désagréable. J'ai constaté la même chose pour le DataGridView.
Dans le cas du DataGridView, j'ai pensé à surcharger l'évènement OnCellStyleChanged pour ne redessiner que la cellule. J'aurais appellé dans ce cas la fonction Invalidate(Rectangle) idoine, mais cela ne fonctionne pas car je ne peux obtenir les coordonnées de la cellule à redessiner.