人気ブログランキング | 話題のタグを見る

C# textBoxのちらつき防止

 Network Speed + HDD TEMP ですが、詳細を書いている部分
 (実は面倒なので、textBox1にのっけてます) がっぁ ちらつく!

 ~ そりゃそだわと、ちらつき防止をいれました。 ~
 [DllImport("user32")]
 private static extern int SendMessage(
          IntPtr hWnd, uint Msg, long wParam, long lParam);
 private const uint WM_SETREDRAW = 0x000B;

 textBox1.Textを変更する前に、textBox1のウィンドウの再描画を無効にして
  SendMessage(textBox1.Handle, WM_SETREDRAW, 0, 0);
 textBox1も無効に、
  texBox1.Enabled = false;
 バックグラウンドの処理にまわす
  backgroundWorker1.RunWorkerAsync();

 バックグラウンドが処理が終わったら
  backgroundWorker1_RunWorkerCompleted(    )
 すかさず、textBox1を有効にしてやる
  textBox1.Enabled = true;
 再描画を有効にしてやる
  SendMessage(textBox1.Handle, WM_SETREDRAW, 1, 0);
 textBox1をリフレッシュ
  textBox1.Refresh();

こんなかんじー
by milai2020 | 2012-06-10 23:39 | コード | Comments(0)