動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

なぜCursor.Currentだけだと砂時計が出ないのか

出典: WinForms で UseWaitCursor が戻らないバグの解決法(業務SE目線)なぜCursor.Currentだけだと砂時計が出ないのか

なぜCursor.Currentだけだと砂時計が出ないのか (csharp)#664c8dc93713
// ❌ダメな書き方(業務系で多い)
private void btnLoad_Click(object sender, EventArgs e)
{
    Cursor.Current = Cursors.WaitCursor;
    // ↓ここで数秒かかる。UIスレッドはブロック中。
    var dt = new DataTable();
    using (var conn = new SqlConnection(_connectionString))
    using (var adapter = new SqlDataAdapter("SELECT * FROM big_table", conn))
    {
        adapter.Fill(dt);
    }
    dataGridView1.DataSource = dt;
    Cursor.Current = Cursors.Default;
    // ↑ここまで来て初めて表示が変わる(が、もう処理終わってるので一瞬しか出ない)
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #664c8dc93713
  • lines: 15
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「なぜCursor.Currentだけだと砂時計が出ないのか」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

5
図鑑トップ