を受け入れ、Control
生成された画像をそれに描画するクラスがあります。私のアプリケーション コードでは、Panel
これにコントロールを使用しています。これは、イメージが再描画されるときにコントロールで多くのちらつきが発生することを除けば、うまく機能しているようです。解決策は、コントロールでダブルバッファリングを有効にすることだと思います。私は次のコードでこれをやっています:
System.Reflection.PropertyInfo aProp =
typeof(System.Windows.Forms.Control).GetProperty(
"DoubleBuffered",
System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.Instance);
aProp.SetValue(drawControl, true, null);
このコードを追加すると、画像が描画され、すぐにデフォルトの灰色のボタンの背景色に置き換えられます。まるでシステムが自分のコンテンツの上に描画しているかのようです。
コントロールを描画しないようにシステムに指示するプロパティをどこかで見たのを覚えています (コントロール全体をコンテンツで埋めているので、これは私にとって完璧です) が、今は見つかりません。そのようなプロパティはありますか? もしそうなら、どうすれば有効にできますか?
.NET フレームワーク バージョン 4.0 で C# を使用しています。