J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox
- Je parcours un ArrayList composé de 200 objets
- Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque
noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une
progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets.
De plus quand la TreeView est chargée, dans le cas de 200 objets,
progressBar n'a eu aucun changement de valeur.
Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/********
* CODE SOURCE
* Une partie des traiements
*/
rTBLog.Text = "Lancement de la réplication";
rTBLog.Text += Environment.NewLine;
rTBLog.Refresh();
pB.Value = 0;
clients = intranet.getClients();
int nbpourclient = 100/clients.Count;
foreach(Client c in clients)
{
TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial);
nodeClient.Tag = c;
tVClient.Nodes.Add(nodeClient);
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
Keikun
Keikun wrote:
Bonjour
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox - Je parcours un ArrayList composé de 200 objets - Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets. De plus quand la TreeView est chargée, dans le cas de 200 objets, progressBar n'a eu aucun changement de valeur. Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/******** * CODE SOURCE * Une partie des traiements */
rTBLog.Text = "Lancement de la réplication"; rTBLog.Text += Environment.NewLine; rTBLog.Refresh(); pB.Value = 0;
clients = intranet.getClients();
int nbpourclient = 100/clients.Count;
foreach(Client c in clients) { TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial); nodeClient.Tag = c; tVClient.Nodes.Add(nodeClient);
A voir mon problème vient de la valeur que j'incrémente et non d'un problème de rafraissement.
Je doit juste convertir le 100/clients.Count en un entier.
Keikun wrote:
Bonjour
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox
- Je parcours un ArrayList composé de 200 objets
- Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque
noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une
progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets.
De plus quand la TreeView est chargée, dans le cas de 200 objets,
progressBar n'a eu aucun changement de valeur.
Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/********
* CODE SOURCE
* Une partie des traiements
*/
rTBLog.Text = "Lancement de la réplication";
rTBLog.Text += Environment.NewLine;
rTBLog.Refresh();
pB.Value = 0;
clients = intranet.getClients();
int nbpourclient = 100/clients.Count;
foreach(Client c in clients)
{
TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial);
nodeClient.Tag = c;
tVClient.Nodes.Add(nodeClient);
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox - Je parcours un ArrayList composé de 200 objets - Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets. De plus quand la TreeView est chargée, dans le cas de 200 objets, progressBar n'a eu aucun changement de valeur. Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/******** * CODE SOURCE * Une partie des traiements */
rTBLog.Text = "Lancement de la réplication"; rTBLog.Text += Environment.NewLine; rTBLog.Refresh(); pB.Value = 0;
clients = intranet.getClients();
int nbpourclient = 100/clients.Count;
foreach(Client c in clients) { TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial); nodeClient.Tag = c; tVClient.Nodes.Add(nodeClient);
A voir mon problème vient de la valeur que j'incrémente et non d'un problème de rafraissement.
Je doit juste convertir le 100/clients.Count en un entier.
Sebastien Curutchet
Keikun wrote:
Keikun wrote:
Bonjour
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox - Je parcours un ArrayList composé de 200 objets - Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets. De plus quand la TreeView est chargée, dans le cas de 200 objets, progressBar n'a eu aucun changement de valeur. Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/******** * CODE SOURCE * Une partie des traiements */
rTBLog.Text = "Lancement de la réplication"; rTBLog.Text += Environment.NewLine; rTBLog.Refresh(); pB.Value = 0; clients = intranet.getClients(); int nbpourclient = 100/clients.Count; foreach(Client c in clients) { TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial); nodeClient.Tag = c;
A voir mon problème vient de la valeur que j'incrémente et non d'un problème de rafraissement.
Je doit juste convertir le 100/clients.Count en un entier.
1/ Je te conseille de mettre comme valeur max de ta progressbar le nombre d'élément de ton ArryaList de faire un incrément de 1 à chaque itération.
2/ Pour éviter le problème de rafrachissement tu as à ta disposition la méthode Invoke ou BeginInvoke/EndInvoke. Voici un exemple : http://drq.developpez.com/dotnet/articles/threads/#L5.1
En espérant que ça t'a aider. Sébastien Curutchet
Keikun wrote:
Keikun wrote:
Bonjour
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox
- Je parcours un ArrayList composé de 200 objets
- Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque
noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une
progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets.
De plus quand la TreeView est chargée, dans le cas de 200 objets,
progressBar n'a eu aucun changement de valeur.
Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/********
* CODE SOURCE
* Une partie des traiements
*/
rTBLog.Text = "Lancement de la réplication";
rTBLog.Text += Environment.NewLine;
rTBLog.Refresh();
pB.Value = 0;
clients = intranet.getClients();
int nbpourclient = 100/clients.Count;
foreach(Client c in clients)
{ TreeNode nodeClient = new TreeNode(c.CAB+" -
+c.NomCommercial);
nodeClient.Tag = c;
A voir mon problème vient de la valeur que j'incrémente et non d'un
problème de rafraissement.
Je doit juste convertir le 100/clients.Count en un entier.
1/ Je te conseille de mettre comme valeur max de ta progressbar le
nombre d'élément de ton ArryaList de faire un incrément de 1 à chaque
itération.
2/ Pour éviter le problème de rafrachissement tu as à ta disposition la
méthode Invoke ou BeginInvoke/EndInvoke.
Voici un exemple : http://drq.developpez.com/dotnet/articles/threads/#L5.1
J'ai un problème avec le rafraichissement de controle.
Voici l'enchaînement des traitements :
- J'ajoute un texte dans un richTextBox - Je parcours un ArrayList composé de 200 objets - Pour chaque objet, j'ajoute un noeud dans une TreeView, pour chaque noeud, je rajoute des sous noeuds
Dans ma boucle qui parcours mon ArrayList, je change la value d'une progressBar. Cela marche quand j'ai 100 objets mais pas 200 objets. De plus quand la TreeView est chargée, dans le cas de 200 objets, progressBar n'a eu aucun changement de valeur. Idem avec une données que je mets à jours dans un panel d'une statusBar.
J'ai déjà mis un refresh sur ma progressBar est cela ne change rien.
/******** * CODE SOURCE * Une partie des traiements */
rTBLog.Text = "Lancement de la réplication"; rTBLog.Text += Environment.NewLine; rTBLog.Refresh(); pB.Value = 0; clients = intranet.getClients(); int nbpourclient = 100/clients.Count; foreach(Client c in clients) { TreeNode nodeClient = new TreeNode(c.CAB+" - +c.NomCommercial); nodeClient.Tag = c;
A voir mon problème vient de la valeur que j'incrémente et non d'un problème de rafraissement.
Je doit juste convertir le 100/clients.Count en un entier.
1/ Je te conseille de mettre comme valeur max de ta progressbar le nombre d'élément de ton ArryaList de faire un incrément de 1 à chaque itération.
2/ Pour éviter le problème de rafrachissement tu as à ta disposition la méthode Invoke ou BeginInvoke/EndInvoke. Voici un exemple : http://drq.developpez.com/dotnet/articles/threads/#L5.1