Thread Problem - Ich weis nicht mehr weiter..

kasal

Erfahrenes Mitglied
Hallo,

Also habe folgendes Problem:

Code:
public void AddToList2(string text)
{
	MessageBox.Show(text);
	listBox.Items.Add(text);
}

void btnStartClick(object sender, System.EventArgs e)
{
                int x = 3;
                for(int ab = 1; ip < x; ab++)
	{
	                cls_test cls= new cls_test();
	                cls.nummer = ab.ToString();
           	                Thread t = new Thread(cls.Funktion);
           		t.Start();					
	}		
}

private class cls_test
{
	public string nummer = null;
	public delegate void AddToList(string text);
                public void Funktion()
                {
                              MainForm frm = new MainForm();
            	              AddToList list = new AddToList(frm.AddToList2);
            	              list(nummer);
                }
}

Alle daten der Threads landen in der Funktion AddToList2. Nun ist es so, dass die Funktion zwar die MessageBoxen anzeigt, jedoch nicht in die Listbox schreibt.

Wie kann ich dieses Problem lösen? Und vor allem, warum wird nichts in die ListBox geschrieben?

Vielen Dank im Vorraus schonmal


lg,
kasal
 
Zuletzt bearbeitet:
Hi,
nutze ein delegate um threadsafe auf die listbox zuzugreifen:

Code:
delegate void AddListBoxTextDelegate(string text);
 private void AddListBoxText(string text)
 {
     if (this.listBox1.InvokeRequired)
     {
         this.Invoke(new AddListBoxTextDelegate(AddListBoxText), text);
     }
     else
     {
         this.listBox1.Items.Add(text);
     }
 }
 

Neue Beiträge

Zurück