こんにちは。
それはUIスレッドでメッセージボックス表示するようにしてやれば、
バックグラウンドの処理は停止しないはずです。
C#
1public partial class Form1 : Form
2{
3 public Form1()
4 {
5 InitializeComponent();
6 }
7
8 private void button1_Click(object sender, EventArgs e)
9 {
10 backgroundWorker1.RunWorkerAsync();
11 }
12
13 private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
14 {
15 //background process
16 System.Threading.Thread.Sleep(3000);
17 ShowMessageAsync("A");
18 System.Threading.Thread.Sleep(3000);
19 ShowMessageAsync("B");
20 System.Threading.Thread.Sleep(3000);
21 ShowMessageAsync("C");
22 }
23
24 private async void ShowMessageAsync(string message)
25 {
26 await Task.Run(() =>
27 {
28 Invoke((MethodInvoker)delegate
29 {
30 //UI Thread
31 MessageBox.Show(message);
32 });
33 });
34 }
35}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/01 12:23