Вызывающий поток не может получить доступ к объекту, так как его владельцем является другой поток - C#

Узнай цену своей работы

Формулировка задачи:

Есть форма MainWindo, есть класс AB. В форме единая точка доступа к элементам формы.
        public static MainWindow Forma = null;
        public MainWindow()
        {
            InitializeComponent();
            Forma = this;
        }
       public void Add(string[] f) {}
В классе AB есть функция которая работает в потоке, из этого самого потока нужно вызвать функцию из класса формы. В классе AB в функции которая работает в потоке, вызываю функцию формы через точку доступа

MainWindow.Forma.Add(Param);

получаю ошибку.
Необработанное исключение типа "System.InvalidOperationException" в WindowsBase.dll
Дополнительные сведения: Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток.
Как асинхронно вызвать функцию формы, из функции класса AB, которая находится в потоке? VS 2012

Решение задачи: «Вызывающий поток не может получить доступ к объекту, так как его владельцем является другой поток»

textual
Листинг программы
экземпляр окна.контролл.Dispatcher.BeginInvoke(new Action(delegate()
{
     экземпляр окна.контролл...
}));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы