4

フォームに単純なWinformsマルチラインテキストボックスがあります。TextBoxのサイズを変更したり移動したりすると、コンテンツが激しくちらつき始めます。それは非常に嫌なように見え、一部のユーザーにとっててんかん発作を引き起こす可能性さえあります;-)

ちらつきを取り除くためにTextBoxの再描画プロセスを操作する方法はありますか?

4

2 に答える 2

7

私はHansPassantによって書かれたMSDNフォーラムで実用的な解決策を見つけました。次のコードをフォームに追加でき、すべての子コントロールでも機能します。

    protected override CreateParams CreateParams {
        get {
            const int WS_EX_COMPOSITED = 0x02000000;
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= WS_EX_COMPOSITED;
            return cp;
        }
    } 
于 2012-11-30T10:25:16.077 に答える
1

afaikフォーム上のシングルコントロールのサイズ変更モードを制御することはできません...私の意見では、2つのオプションがあります。

  1. ちらつきが発生する理由を調べてください-グラフィックドライバの問題?
  2. フォームのResizeRedrawプロパティをfalseに設定します

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.resizeredraw.aspx

于 2012-11-30T09:11:17.073 に答える