C# Thread Problem


#1
Hallo,
ich habe ein Problem.

Code:
Code:
 private Thread thread1;
        public void createev()
        {
            int wiederholung = Convert.ToInt32(this.numericUpDown2.Text);
            for (int i = 1; i <= wiederholung; i++)
            {
                try
                {
                        textBox1.Text = "OK!" + textBox1.Text;
                        if ((double)i != Convert.ToDouble(this.numericUpDown2.Text))
                      {
                           Thread.Sleep(15000);
                     } 
                }
                catch (Exception ex)
                {
                    textBox1.Text = "Fehler!" + textBox1.Text;
                }
            }
           textBox1.Text = "Vorgang beendet!" + textBox1.Text;
        }
Fehler:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement richTextBox1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
Zeile:
Code:
textBox1.Text = "Fehler!" + textBox1.Text;
 

DrMueller

Erfahrenes Mitglied
#3
Ich empfehle per Backgroundworker zu arbeiten. Dieser ist für die interaktion der Threads mit dem GUI vorgesehen. Gibt viele gute Beispiele dazu.

Oder wie Sheel sagt, Invoking resp. im WPF wäre es der Dispatcher.