Laden...

Ungültiger threadübergreifender Vorgang beim Zugriff auf DGV aus Backgroundworker

Erstellt von tom-cat vor 12 Jahren Letzter Beitrag vor 12 Jahren 4.141 Views
Thema geschlossen
T
tom-cat Themenstarter:in
77 Beiträge seit 2010
vor 12 Jahren
Ungültiger threadübergreifender Vorgang beim Zugriff auf DGV aus Backgroundworker

Moin zusammen,

ich habe eine kleine Windows GUI in der ich eine Datenbank Abfrage mit dem EF4 ausführe und die Daten in einem Grid anzeigen lasse.
Wenn ich keinen BW einsetzte, funktioniert alles super gut, nur das die Form immer einfriert. Dafür sind ja die BW da, dass das nicht passiert -:-)

Also ich habe folgende Fehlermeldung und komme da nicht weiter:> Fehlermeldung:

Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement gridInvoiceHeader erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

Folgender Code dazu:
=> Hier wird der Worker aufgerunfen:

private void cmdSearchInvoice_Click(object sender, EventArgs e)
        {
            if (bw.IsBusy != true)
            {
                bw.RunWorkerAsync();
            }
        }

Hier ist der Worker:

private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            for (int i = 1; (i <= 10); i++)
            {
                if ((worker.CancellationPending == true))
                {
                    e.Cancel = true;
                    break;
                }
                else
                {
                    // Perform a time consuming operation and report progress.
                   [B] gridInvoiceHeader.DataSource = InvoiceAccessor.GetUpcomingBookingList(textBox1.Text);[/B]
                    worker.ReportProgress((i * 10));
                }
            }
        }

Das fett makierte ist das, wo ich meine Abfrage aufrufe und wo er mir eben die o.g. Fehlermeldung rauswirft.

HILFFEEEE 😃)))

LG
Tom

G
538 Beiträge seit 2008
vor 12 Jahren

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo tom-cat,

wie Grumbler85 schon erkannt hat wird das Thema im FAQ-Beitrag ausreichend erläutert - auch die Fehlermeldung ist typsich für diesen Fehler.
Es müssen alle UI-Zugriffe aus dem UI-Thread erfolgen, also auch die fett markierte Zeile in deinem Code.

Bitte beachte auch [Hinweis] Wie poste ich richtig? Punkt 1.1 => geschlossen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Thema geschlossen