У меня есть ListBox
lstProductGroups.Доступ СписокBox.SelectedItems из другой темы
На простой формы Windows, метод, называемый GetGroups
дает мне строковые группы, выбранные пользователем как Cars, Bikes
т.д.
public List<string> GetGroups()
{
List<string> prodGroups = (from object item in lstProductGroups.SelectedItems select item.ToString()).ToList();
return prodGroups;
}
Но если я пытаюсь получить доступ к такой же метод из другого потока я получаю все детали в моем список под названием System.Data.DataRowView
.
Я даже попробовал его в foreach
петле с BeginInvoke
, но item.ToString()
всегда возвращает System.Data.DataRowView
.
Я новичок в Winforms с резьбой. Что я делаю не так?
Что вы используете для облегчения потоков; 'BackgroundWorker',' Thread', 'Task'? – MoonKnight
Вы пытались вызвать метод GetGroups() из другого потока с помощью Invoke()? Он должен вернуть правильный список. –
Событие стороннего API, на которое я подписался. Я не знаю их внутренней реализации. Но любой код обновления пользовательского интерфейса из метода события поднял «Неверная обработка кросс-потоков»: «Контроль» был получен из потока, отличного от потока, на котором он был создан. « –