System.Windows.Forms.Control の継承で OnPaint または OnPaintBackground メソッドをオーバーライドする場合、1 つの引数は常に System.Windows.Forms.PaintEventArgs オブジェクトです。部分的なオブジェクト構造:
- PaintEventArgs
- ClipRectangle (System.Drawing.Rectangle)
- グラフィックス(System.Drawing.Graphics)
- クリップ(System.Drawing.Region)
- ClipBounds (System.Drawing.RectangleF)
- VisibleClipBounds (System.Drawing.RectangleF)
Graphics.Clipは、後続のペイント操作に影響を与える適用可能なピクセルの 1 ビット マップのように見えます。
MSDN: 「この Graphics の描画領域を制限する Region を取得または設定します。」
Graphics.ClipBoundsは、Clip 領域を完全に含む最小の四角形のように見える読み取り専用の四角形です。
MSDN: 「この Graphics のクリッピング領域の境界となる RectangleF 構造体を取得します。」
Graphics.VisibleClipBoundsは、より「インテリジェントな」クリップのようですが、それがどのように動作するかはわかりません。
MSDN: 「この Graphics の表示クリッピング領域の境界四角形を取得します。」
ClipRectangleは、すべての場合に Graphics.ClipBounds プロパティを複製しているように見えます。
MSDN:「描画する四角形を取得します。」
誰かが主な質問に答えて、さまざまな境界オブジェクトが何のためにあるのかを明らかにすることができますか?
編集: Dan-oの回答に従ってMSDNの説明を追加しました。