winform 응용 프로그램을 개발 중이며 데이터베이스에서 요청을하고 비동기식으로 채울 수 있지만 다른 스레드의 코드이기 때문에 액세스 제어 문제가 있습니다. 코드는 다음과 같습니다.Linq to Sql combobox async 결과가
this.backWorker.DoWork + = delegate
{
comboBoxUsers.DataSource = repositoryUser.SelectAll();
comboBoxUsers.ValueMember = "UserId";
comboBoxUsers.DisplayMember = "Name";
};
backWorker.RunWorkerAsync();
내가 envoke에 대해 공부하지만이를 구현하는데 문제가 있어요, 내가 할 필요가 는 DoWork 이벤트 보이는 진행률 표시 줄을 떠나이 일을 선택했다.
또한 ComboBox의 ValueMember 및 DisplayMember가 절대로 변경되지 않으면 양식의 생성자 또는 관련 designer.cs 파일 자체에서 변경할 수 있습니다. 진심으로 신경 쓰는 유일한 방법은 쿼리 결과를 주 스레드로 반환하는 것입니다. – Dubs