컨트롤을 이동하거나 최소한 컨트롤을 다른 스레드로 복사 한 다음 컨트롤을 만든 것일 수 있습니다. 그 이유는 컨트롤을 백그라운드 스레드에서 완전히로드 한 다음로드가 완료되면 컨트롤을 다른 스레드로 옮기고 싶기 때문입니다. 예를 들면 다음과 같습니다.winforms - 컨트롤을 다른 스레드로 이동
0
A
답변
1
아니요, 불가능합니다. 컨트롤 은 기본 스레드에서이어야합니다.
당신은 그런 식으로 코드를 수정해야합니다 : 당신은 호출을 사용하여 별도의 스레드에서 컨트롤을 업데이트 할 수 있습니다
BackgrundworkRunasync(object sender, DoWorkEventArgs e)
{
e.Result = GetData();
}
BackGroundWorkerComplete (object sender, RunWorkerCompletedEventArgs e)
{
CreateControl mycontrol = new CreateControl() //Tyep of WindowsForm
mycontrol.Data = e.Result;
myControl.mdiparent = this;
myControl.Show();
}
0
아니요. 허용되지 않습니다. 모든 컨트롤은 단일 스레드로 서비스해야합니다. 이것은 창을 만드는 데 사용 된 스레드입니다. 일반적으로 프로세스의 첫 번째 스레드입니다.
0
. 여기 좀
Invoke((MethodInvoker)delegate
{
//use control
});
되세요
관련 문제
- 1. 다른 스레드로 이벤트 알림 이동
- 2. 대리자 관련 함수를 다른 스레드로 이동
- 3. 데이터를 다른 스레드로 전달하는 방법
- 4. C# winforms : 한 텍스트 상자에서 다른 텍스트 상자로 텍스트 이동
- 5. 로그인 컨트롤을 홈 페이지로 이동
- 6. 미리 정의 된 클래스를 Qthread를 사용하여 스레드로 이동
- 7. 한 형식에서 다른 형식으로 이동
- 8. Winforms Designer에서 형식과 컨트롤을 선택하도록 지원합니다.
- 9. Delphi TWebBrowser 컨트롤에서 Flash Player를 백그라운드 스레드로 이동 하시겠습니까?
- 10. Silverlight : 서비스 호출 및 파일 처리를 백그라운드 스레드로 이동
- 11. C# winforms 3 개의 컨트롤을 균등하게 배포합니다.
- 12. WinForms 디자이너 : 컨트롤을 추가하여 디자이너에게 보이게하십시오.
- 13. 한 스레드에서 다른 스레드로 전송할 수있는 잠금
- 14. 개별 OpenGL UI 컨트롤을 이동 + 크기 조정
- 15. 스레드로 정렬
- 16. 요소를 다른 위치로 이동
- 17. 다른 컴퓨터로 파일 이동
- 18. 다른 이미지로 이미지 이동
- 19. 파일을 다른 서버로 이동
- 20. 다른 URL로 이동
- 21. MVC 다른 컨트롤러보기로 이동
- 22. 다른 ContentDatabase간에 SPListItems 이동
- 23. 다른 디렉토리에서 명령 이동
- 24. 하나의 양식을 다른 winforms로 이동 - C#
- 25. Silverlight에서 다른 xaml 페이지로 이동 accordionitem
- 26. 다른 양식의 버튼을 클릭하십시오. winforms
- 27. 다중 스레드로 작업 나누기
- 28. 다중 스레드로 또는
- 29. C# Winforms WebBrowser 컨트롤을 사용하여 인쇄 방향을 가로로 설정하십시오.
- 30. WebBrowser Winforms 컨트롤을 사용하여 SSL을 통해 인트라넷에 액세스