OnPaintBackground
最初に描画される背景に起因するちらつきを削除するには、を無効にするTableLayoutPanel
必要があります (ペイント メソッドを使用して TLP に描画しているため、目的のために多くのコントロールが含まれているため、TLP が必要です)。したがって、私のコードは次のとおりです。
public static bool FlickerPanel = false;
public class FlickerTableLayoutPanel : TableLayoutPanel
{
protected override void OnPaintBackground(PaintEventArgs e)
{
if (FlickerPanel)
base.OnPaintBackground(e);
}
}
次に、ペイント メソッドで独自の背景を描画します。したがって、実行中は問題ありません。
編集:問題の根本を発見しました。OnPaintBackground をオーバーライドすることで、デザイナーが背景を描画するコードを無効にします。オーバーライドをまとめて削除すると、グラフィカルな不具合は発生しません。
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
}
上記のコードでも、デザイン ビューのレンダリングが無効になり、グラフィックの不具合が発生します。どんな助けでも大歓迎です!