article search result of 'show()' : 1

  1. 2011.01.19 [new Thread in new Form] 새로운 쓰레드 안에 새로운 윈도우폼 (110)

[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 를 사용하는 방법도 있다.
 
보기
 
구현방법은 역시 같다.
Yamecoder 야매코더_
C# 2011.01.19 17:18
Powerd by Tistory, designed by criuce
rss