C# delegate, thread, w windows mobile

0

Mam taką metodę:

        private void AddPerson()
        {
            ListBox.DataSource = null;
            ListBox.Items.Clear();
            ListBox.DataSource = users;
            ListBox.DisplayMember = "id_user";
        }

chcę ją wywołać w metodzie uruchomionej w wątku:

            Thread rec = new Thread(GetMessages);
            rec.Start();

W Windows Mobile nie działa, gdyż wymaga to drugiego wątku (Na XP o dziwo śmiga...). Jak go zatem utworzyć? Czytałem o delegate ale za cholerę nie wiem jak się tym obsługiwać. Proszę o pomoc

0

"nie działa" - nie spotkałem się osobiście z takim komunikatem błędu...

0

Błąd: Control.Invoke must be used to interact with controls created on a separate thread.

0

Wszelkie metody, które zmieniają stan interfejsu, a są odpalane z innego wątku muszą być otoczone taką konstrukcją:

Invoke((Action)delegate {
    //tutaj uaktualniamy interfejs programu z innego wątku w bezpieczny sposób
});
 
0
        private void AddPerson()
        {
            if (ListBox.InvokeRequired)
                ListBox.Invoke(new MethodInvoker(AddPerson));
            else
            {
                ListBox.DataSource = null;
                ListBox.Items.Clear();
                ListBox.DataSource = users;
                ListBox.DisplayMember = "id_user";
            }
        }

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