[.NET] 砂時計を使ってくれない UseWaitCursor プロパティ @VS2005
久々に Visual Studio 2005 を使うハメになったら、 まぁハマりまくりw
Form のイベントハンドラーの中で UseWaitCursor プロパティを true にしてもマウスカーソルが変化しないなんて、 もうバグとしか… (--;
# VS2008 ではちゃんと変わったのにぃ~
MSDN ライブラリの UseWaitCursor プロパティ (.NET 2.0 版) のコミュニティ コンテンツに書いておいたけど、 .NET 1.x のときと同じで、 現在のカーソルを退避しておいてから Cursors.WaitCursor をセットしてやるしかなさそうです。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim oldCursor As Cursor = Me.Cursor
Me.Cursor = Cursors.WaitCursor
Me.Enabled = False
System.Threading.Thread.Sleep(3000) '* 時間の掛かる処理
Application.DoEvents()
Me.Enabled = True
Me.Cursor = oldCursor
End Sub
ついでに。
これをイベントハンドラーにいちいち書くのは面倒なので、 たいてい次のようにしちゃいます。 インスタンス化されたときにカーソルを砂時計に変え、 ディスポーズされるときに元に戻すようなクラス ( ここでは FormDisabler ) を作っておいて…
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Using (New FormDisabler(Me))
System.Threading.Thread.Sleep(3000) '* 時間の掛かる処理
End Using
End Sub
| 固定リンク
« Asus Eee Pad 発表、 MSI からは Wind Pad、 電子書籍リーダー選びが面白くなってきた | トップページ | Silverlight でも Coded UI Test がサポートされる予定 »
「プログラミング」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【.NET Core】 プロジェクトを作ると 「project.assets.json が見つかりません」 エラー(2018.02.10)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
この記事へのコメントは終了しました。
コメント