[new Thread in new Form] 새로운 쓰레드 안에 새로운 윈도우폼
무작정 쓰레드를 생성하여 폼을 생성한다면...
Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { Form n = new Form(); n.Show(); }
바로 폼이 깜빡 거리고 만다. 해당쓰레드가 바로 죽기 때문이다.
새로운 폼은 새로운 어플리케이션으로 생성해야 한다.
Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { //Form n = new Form(); //n.Show();
Application.Run(new Form2());}
주의할점은 Application.Run 앞에 모든 명령이 와야 한다.해당 쓰레드는 Application을 기점으로 돌고 있기 때문에 Application 뒤에 명령이 온다면,Application 이 종료된다음에 실행된다. while 문과 같다고 생각하면 되겠다.Dispose 를 구현한다면 Application 뒤에 오는것도 나쁘지 않겠다.ex>Application.Run(...);Consol.writeLine("해당 어플리케이션이 종료되었습니다.");더욱 안전한 방법을 원한다면BackgroundWorker 를 사용하는 방법도 있다.보기구현방법은 역시 같다.
'C#' 카테고리의 다른 글
[Shell32.DLL] *.LNK , *.URL 분석하기 (84) | 2011.01.25 |
---|---|
[c# ThreadApartment] ActiveX 컨트롤 , COM 객체를 새로운 쓰레드에서 접근할때 (67) | 2011.01.20 |
[new Thread in new Form] 새로운 쓰레드 안에 새로운 윈도우폼 (110) | 2011.01.19 |
[AxShockwaveFlashObjects] AS3 in C# (122) | 2011.01.17 |
[.Net Profiler] ANTS Memory Profiler 사용해보기 (158) | 2011.01.16 |
[LINQ _ XML] 간략한 LINQ to XML 사용법 (167) | 2011.01.10 |
C#
2011.01.19 17:18