0

UI プロジェクトでは、一連のカスタム コントロールを使用しています。カスタム コントロールは数年前に作成されました。以下に示すように、すべてのコントロールは OnPaint メソッドをオーバーライドします。OnPaint メソッドで OnPaintBackground を呼び出すのは正しいですか?

protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaintBackground(e);
        base.OnPaint(e);
    }
4

1 に答える 1

0

https://sites.google.com/site/craigandera/craigs-stuff/windows-forms/flicker-free-control-drawingからの抜粋 コントロールが描画されるたびに、2 つのイベントが発生します。OnPaintBackground、次に OnPaint。彼らは常に次から次へと発砲します。したがって、ユーザーが入力すると、OnPaintBackground、OnPaint、OnPaintBackground、OnPaint などのように起動します。

これは、根底にある思考プロセスを理解するのに役立つかもしれませんが、それでも OnPaintBackground メソッドを呼び出すことは正当化されます。

于 2013-01-08T12:16:36.790 に答える