C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 99 を表示中)
■58896 / )  BackgroundWorker処理中に砂時計が"I"になる
□投稿者/ あころ (1回)-(2011/05/03(Tue) 14:23:18)

分類:[C#] 

2011/05/03(Tue) 14:49:11 編集(投稿者)
2011/05/03(Tue) 14:45:32 編集(投稿者)
2011/05/03(Tue) 14:45:27 編集(投稿者)

<pre><pre>はじめまして。

C#でBackgroundWorkerを使用するアプリを作りました。
しかし、アプリを実行すると、BackgroundWorker.RunWorkerAsync後にカーソルが"I(I ビーム カーソル)"になってしまいます。
RunWorkerAsync前にSleep(1000);を入れてみたらSleep中は砂時計になり、その後"I"になります。
backgroundWorker1_RunWorkerCompletedまで、アイコンを砂時計のままにしたいのですが、出来ていません。

何がおかしいのかがわからなく模索しているところです。なにかヒントをいただけないでしょうか。



ソースは下記になります。
public void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
button1.Text = "処理中";
this.Cursor = Cursors.WaitCursor;
backgroundWorker1.RunWorkerAsync(100);

}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
(重い処理...)
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
(後処理...)
this.Cursor = Cursors.Default;
button1.Enabled = true;
button1.Text = "開始";
}


</pre></pre>
返信 編集キー/


管理者用

- Child Tree -