共用方式為


TableLayoutPanel.OnCellPaint(TableLayoutCellPaintEventArgs) 方法

定義

在應該重新整理儲存格時收到呼叫。

protected:
 virtual void OnCellPaint(System::Windows::Forms::TableLayoutCellPaintEventArgs ^ e);
protected virtual void OnCellPaint (System.Windows.Forms.TableLayoutCellPaintEventArgs e);
abstract member OnCellPaint : System.Windows.Forms.TableLayoutCellPaintEventArgs -> unit
override this.OnCellPaint : System.Windows.Forms.TableLayoutCellPaintEventArgs -> unit
Protected Overridable Sub OnCellPaint (e As TableLayoutCellPaintEventArgs)

參數

範例

下列程式碼範例示範如何覆寫 OnCellPaint 方法,以建立儲存格的自訂外觀。

public class DemoTableLayoutPanel : TableLayoutPanel
{
    protected override void OnCellPaint(TableLayoutCellPaintEventArgs e)
    {
        base.OnCellPaint(e);

        Control c = this.GetControlFromPosition(e.Column, e.Row);

        if ( c != null )
        {
            Graphics g = e.Graphics;

            g.DrawRectangle(
                Pens.Red, 
                e.CellBounds.Location.X+1,
                e.CellBounds.Location.Y + 1,
                e.CellBounds.Width - 2, e.CellBounds.Height - 2);

            g.FillRectangle(
                Brushes.Blue, 
                e.CellBounds.Location.X + 1, 
                e.CellBounds.Location.Y + 1, 
                e.CellBounds.Width - 2, 
                e.CellBounds.Height - 2);
        };
    }
}
Public Class DemoTableLayoutPanel
    Inherits TableLayoutPanel

    Protected Overrides Sub OnCellPaint( _
    ByVal e As System.Windows.Forms.TableLayoutCellPaintEventArgs)

        MyBase.OnCellPaint(e)

        Dim c As Control = Me.GetControlFromPosition(e.Column, e.Row)

        If c IsNot Nothing Then
            Dim g As Graphics = e.Graphics

            g.DrawRectangle( _
            Pens.Red, _
            e.CellBounds.Location.X + 1, _
            e.CellBounds.Location.Y + 1, _
            e.CellBounds.Width - 2, _
            e.CellBounds.Height - 2)

            g.FillRectangle( _
            Brushes.Blue, _
            e.CellBounds.Location.X + 1, _
            e.CellBounds.Location.Y + 1, _
            e.CellBounds.Width - 2, _
            e.CellBounds.Height - 2)
        End If

    End Sub

End Class

適用於