C# DGV.Addrow z watku pobocznego.

0

Witam.

Wszystko po kolei.
Tworze nowy watek

Thread trd = new Thread(new ThreadStart(this.AddNewCSV));
           trd.IsBackground = true;
           trd.Start();

Wczytuje plik txt i laduje go do DataGridView. Co linijke tworze nowego rowa.

DGVMain.Rows.Add(1); 

I tu pojawia sie problem.

"Nieprawidłowa operacja między wątkami: do formantu '' uzyskiwany jest dostęp z wątku innego niż wątek, w którym został utworzony."
"How to: Make Thread-Safe Calls to Windows Forms Controls"
Przeczytalem ale dalej nie moge zmusisc mojego watki do wspolpracy z głownym. DOsta
lem info zeby uzyc dispatchera.checkaccess i rzucic delegata. Probuje, probuje i nic. Jakies pomysly?

0

Invoke i InvokeRequired
bylo juz setki razy poruszane na tym forum, poszukaj

0

Przeszukalem. Wystarczylo wypic kawe i logicznie sie nad tym zastanowic. Dziekuje za posiwecony czas.

Rozwiazanie:

public void addrow()
        {
            if (DGV.InvokeRequired)
            {
                DGV.Invoke(new MethodInvoker(() => { addrow(); }));
            }
            else
            {
                DGV.Rows.Add(1);
            }
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1