Scintillement lors de l'affichage d'un contrôle

Le
Paraglider
Bonjour,

J'ai créé deux contrôles utilisateur.

J'ai une form principale avec un panel où j'affiche l'un ou l'autre de
ces deux contrôles via un menustrip.
Lorsque je passe d'un contrôle à l'autre, j'ai toujours un
"clignotement". J'ai essayé la propriété "DoubleBuffered" autant sur
mon formulaire principal que sur mes contrôles mais cela est sans
effet :-(
Un contrôle contient 10 textbox, deux combobox et 5 maskeditbox



Si quelqu'un avait une solution !

Merci de vos réponses

Jacques
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #21034521
Bonjour,

Tentes avec la propriété visible, effaçant d'abod, puis affichant
l'autre ensuite ?

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Paraglider" news:
Bonjour,

J'ai créé deux contrôles utilisateur.

J'ai une form principale avec un panel où j'affiche l'un ou l'autre de
ces deux contrôles via un menustrip.
Lorsque je passe d'un contrôle à l'autre, j'ai toujours un
"clignotement". J'ai essayé la propriété "DoubleBuffered" autant sur
mon formulaire principal que sur mes contrôles mais cela est sans
effet :-(
Un contrôle contient 10 textbox, deux combobox et 5 maskeditbox ...



Si quelqu'un avait une solution !

Merci de vos réponses

Jacques
Bill2
Le #21040791
Paraglider wrote:
Bonjour,

J'ai créé deux contrôles utilisateur.

J'ai une form principale avec un panel où j'affiche l'un ou l'autre de
ces deux contrôles via un menustrip.
Lorsque je passe d'un contrôle à l'autre, j'ai toujours un
"clignotement". J'ai essayé la propriété "DoubleBuffered" autant sur
mon formulaire principal que sur mes contrôles mais cela est sans
effet :-(
Un contrôle contient 10 textbox, deux combobox et 5 maskeditbox ...



Si quelqu'un avait une solution !

Merci de vos réponses

Jacques



il faut utiliser beginUpdate et EndUpdate
MonControl.BeginUpdate

' ici, ton code de mise à jour des données dans les combo box, textbox, etc

MonControl.endUpdate

--
Bill2
Utilisez Process Manager, gestionnaire de processus automatique :
http://www.bill2-software.com/processmanager/
Paraglider
Le #21042091
Bonjour Bill2,

Comme c'est la première fois que j'entend parler de BeginUpdate.
Pourrais-tu me donner quelques explications supplémentaires?

Voici le code que j'utilise :
Estim1 est mon contrôle utilisateur et PanelEstimation, le panel de
mon formulaire principale.
Quand j'affiche le premier contrôle, c'est correcte. À partir du
moment où j'affiche le deuxième contrôle, c'est à partir de ce mom ent
là que cela commence à clignoter si je passe de l'un à l'autre

Private Sub Étape1ToolStripMenuItem_Click ...
Dim TempObjet As New Estim1
PanelEstimation.Controls.Clear()
PanelEstimation.Controls.Add(TempObjet)
Me.Text = "Ajout"
End Sub

Private Sub Étape2ToolStripMenuItem_Click ...
Dim TempObjet As New Estim2
PanelEstimation.Controls.Clear()
PanelEstimation.Controls.Add(TempObjet)
Me.Text = "Ajout"
End Sub

Merci

Jacques
Bill2
Le #21043651
Paraglider wrote:
Bonjour Bill2,

Comme c'est la première fois que j'entend parler de BeginUpdate.
Pourrais-tu me donner quelques explications supplémentaires?



BeginUpdate, sur un control, indique à .Net qu'on va modifier l'apparence
et/ou le contenu de ce control.
BeginUpdate sert à donc à ce que le refresh de l'affichage ne se fasse plus,
le temps de la mise à jour.
Comme ça, quand on ajoute plein de controles à un objet, on ne le rafraichi
qu'une seule fois : à la fin de toutes les MAJ.


Voici le code que j'utilise :
Estim1 est mon contrôle utilisateur et PanelEstimation, le panel de
mon formulaire principale.
Quand j'affiche le premier contrôle, c'est correcte. À partir du
moment où j'affiche le deuxième contrôle, c'est à partir de ce moment
là que cela commence à clignoter si je passe de l'un à l'autre




A tester ...
Private Sub Étape1ToolStripMenuItem_Click ...
Dim TempObjet As New Estim1
PanelEstimation.BeginUpdate()
PanelEstimation.Controls.Clear()
PanelEstimation.Controls.Add(TempObjet)
Me.Text = "Ajout"
PanelEstimation.endUpdate()
End Sub

Private Sub Étape2ToolStripMenuItem_Click ...
Dim TempObjet As New Estim2
PanelEstimation.BeginUpdate()
PanelEstimation.Controls.Clear()
PanelEstimation.Controls.Add(TempObjet)
Me.Text = "Ajout"
PanelEstimation.endUpdate()

End Sub


A tester, mais je promets rien.

--
Bill2
Avoir une section fumeur dans un restaurant c'est comme avoir une
section pisseur dans une piscine
Publicité
Poster une réponse
Anonyme