none
Добавление нового элемента в BindingSource из другого потока RRS feed

  • Вопрос

  • На форме есть DataGridView который привязан к BindingSource.

    Если вызвать метод bindingSource.Add(item) из того же потока который создал форму, например по кнопке, то все работает.

    Если этот метод вызвать из другого потока то вылазит ошибка: Операция является недопустимой из-за текущего состояния объекта.

    Побывал сделать следующим образом:

    this.Invoke(new MethodInvoker(delegate
    {
        this.bindingSource.Add(item);
    }));
    

    получаю туже ошибку.

    6 марта 2011 г. 23:42

Ответы

  • Пока решил следующим образом:

    this.Invoke(new MethodInvoker(delegate
            {
              dataGridView.DataSource = null;
              this.bindingSource.Add(item);
              dataGridView.DataSource = bindingSource;
            }));
    
    Но по моему это криво.

    • Помечено в качестве ответа Abolmasov Dmitry 12 марта 2011 г. 16:53
    7 марта 2011 г. 12:42