2013-10-29 7 views

답변

2

또 다른 옵션은 폼에있는 BackgroundWorker를 배치하는 것입니다에 메시지 박스 코드를 이동합니다. 그런 다음 이벤트에서 코드에서 작성된 메소드에서 'DoWork'를 doubleclik하면 messagebox.show를 배치하십시오. 메시지 상자가 별도의 스레드에 표시되고 양식로드가 계속됩니다.

+0

backgroundworker가 많은 메모리를 사용합니까? – Zen3515

+1

. 한 번에 약 25 개의 개별 스레드를 사용하는 프로그램이 있고 각 스레드에는 kb의 메모리가 있습니다 (이것은 스레드 풀이었습니다). 그것은 잠재적으로 메모리 사용을 유발하는 트레드 내부에서하는 일입니다. –

0

MessageBox을 사용할 필요가 없으므로 메시지를 표시하는 새 Form을 만들어야합니다. 새로운 Form 새로운 메시지 루프에서 실행되므로 myForm이 양식의 예입니다

myForm.Show()

, 다음과 같이 호출하면, UI를 차단하지 않습니다.

0

이벤트 Form1_Load는 소리가 무엇 exaclty, 그래서 당신이 거기 MessageBox의 일종을 삽입 할 경우 Form은 응답 후 을로드합니다.

Form로드 후에 다른 방법을 사용해보십시오.

1

단순, 그냥 Shown 이벤트

private void Form1_Shown(object sender, EventArgs e) 
{ 
    MessageBox.Show("Luanching.... This may take a few second"); 
} 
+0

글쎄, @Downvoter는 왜 그런 말을하니? –

+0

정당한 사유가없는 경우 투표하지 마십시오! –

+0

실제로 Sriram Sakthivel입니다. 당신은 대답은 문제에 대한 완벽한 옵션입니다. –