ダブルバッファーされた .NET コントロール: ちらつきの問題を解決する
フォーム上のちらつきコントロールは非常に迷惑です。幸いなことに、.NET にはダブル バッファリングを使用してこの問題を解決する方法が用意されています。ダブル バッファリングにより、変更を画面外に事前レンダリングしてからコントロールを 1 回更新することで、コントロールを繰り返し更新するパフォーマンスが向上します。最終的に、これによりちらつきがなくなりました。
ダブルバッファリングを有効にするには、DoubleBuffered プロパティが保護されているため、直接アクセスできません。代わりに、リフレクションを利用してこのプロパティを動的に呼び出します。
以下は、ソリューションの最適化されたバージョンです:
<code class="language-c#">public static void SetDoubleBuffered(System.Windows.Forms.Control c) { // 检查用户是否在终端服务会话(例如,远程桌面)中工作 if (System.Windows.Forms.SystemInformation.TerminalServerSession) return; // 使用反射获取受保护的“DoubleBuffered”属性 var aProp = typeof(System.Windows.Forms.Control).GetProperty( "DoubleBuffered", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); // 将“DoubleBuffered”属性设置为 true aProp.SetValue(c, true, null); }</code>
目的のコントロールで SetDoubleBuffered() メソッドを呼び出すことで、ちらつきを排除し、フォームのユーザー エクスペリエンスを向上させることができます。
以上が.NET コントロールのちらつきをなくすにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。