J'essaie de mettre à jour/peindre une liste en temps réel, mais j'ai quelques problèmes. J'ai un bouton pour démarrer le processus de remplissage de la liste déroulante button_traceroute_Click. Mon problème est que la listbox n'est peinte/mise à jour que lorsque l'ensemble du processus (clic de bouton) est terminé, je voulais que les éléments soient insérés (visualisés) un par un. J'ai déjà essayé d'utiliser ListBox.Update() mais rien ne s'est passé. (ce qui est un traceroute)Problème avec C#, Listbox et GUI
private void button_traceroute_Click(object sender, EventArgs e)
{
String target;
int i = 0;
target = textBox_target.Text;
Mydata data = new Mydata();
TraceRoute traceroute = new TraceRoute();
while (i < 50 && !data.getReached() && !data.getError()) // i = hop count
{
data = traceroute.startTrace(target, data, i);
listBox_trace.Items.Add(data.getOutput());
i++;
}
}
data.getOutput() retourne (string) quelque chose comme: "Hop X: 165.468.354.4 -> 50 ms" ou "Hop X: Délai d'attente"
Mydata{
bool Finish flag;
bool Error flag;
int badcounter;
String output;
}
Pour l'instant, je remplis la zone de liste avec des chaînes, mais l'objectif est d'utiliser un objet.