0
namespace BackgroundWorkerExample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(1000);
MessageBox.Show("Now!");
}
private void button1_Click(object sender, EventArgs e)
{
//Not working friends!
backgroundWorker1.RunWorkerAsync(backgroundWorker1_DoWork);
}
}
}
배경 작업자 도움. 아주 기본적인 나는 DoWork 메서드를 호출 할 수있는 방법
그러나 MessageBox.Show()가 실패 할 수 있습니다. –
아니요, Show 호출이 작동하고 모델 대화 상자가 표시되지만 Form1 인스턴스에 액세스하는 것을 차단하지는 않습니다. 이상하게 들릴지 모르지만 MessageBox는 주 스레드보다 다른 스레드에서 발생하므로이 동작이 바람직합니다. –
lextm, 네가 맞아, 방금 테스트 했어. 다시 배웠습니다. –