Как передать данные из стороннего потка в GUI-поток?

Есть код:

namespace WindowsFormsApplication1Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var dataUpdate = new DataUpdate();
            dataUpdate.dE += setDataSource;
            new Thread(dataUpdate.doUpdate).Start();
        }

        public void setDataSource( Object obj)
        {
            listBox1.DataSource = obj;
        }

        class DataUpdate
        {
            public delegate void DataLIStEvent(Object obj);
            public event DataLIStEvent dE;
            public void doUpdate()
            {
                var value = new List<string>();
                value.Add("0.76");
                dE(value);
            }
        }
    }
}


Нужно передать данные из потока doUpdate в setDataSource и чтоб обновился гуй
  • Вопрос задан
  • 2509 просмотров
Решения вопроса 1
Boxxy
@Boxxy
listBox1.Invoke(new Action(() => { listBox1.DataSource = obj }));

Сойдет?

Можете еще проперти создать и в сеттер затолкать то же, но там вместо obj будет value.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы