DataGridViewCell.PaintBorder(Graphics, Rectangle, Rectangle, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle) Méthode

Définition

Peint la bordure du DataGridViewCell actuel.Paints the border of the current DataGridViewCell.

protected:
 virtual void PaintBorder(System::Drawing::Graphics ^ graphics, System::Drawing::Rectangle clipBounds, System::Drawing::Rectangle bounds, System::Windows::Forms::DataGridViewCellStyle ^ cellStyle, System::Windows::Forms::DataGridViewAdvancedBorderStyle ^ advancedBorderStyle);
protected virtual void PaintBorder (System.Drawing.Graphics graphics, System.Drawing.Rectangle clipBounds, System.Drawing.Rectangle bounds, System.Windows.Forms.DataGridViewCellStyle cellStyle, System.Windows.Forms.DataGridViewAdvancedBorderStyle advancedBorderStyle);
abstract member PaintBorder : System.Drawing.Graphics * System.Drawing.Rectangle * System.Drawing.Rectangle * System.Windows.Forms.DataGridViewCellStyle * System.Windows.Forms.DataGridViewAdvancedBorderStyle -> unit
override this.PaintBorder : System.Drawing.Graphics * System.Drawing.Rectangle * System.Drawing.Rectangle * System.Windows.Forms.DataGridViewCellStyle * System.Windows.Forms.DataGridViewAdvancedBorderStyle -> unit
Protected Overridable Sub PaintBorder (graphics As Graphics, clipBounds As Rectangle, bounds As Rectangle, cellStyle As DataGridViewCellStyle, advancedBorderStyle As DataGridViewAdvancedBorderStyle)

Paramètres

graphics
Graphics

Graphics utilisé pour peindre la bordure.The Graphics used to paint the border.

clipBounds
Rectangle

Rectangle qui représente la zone de DataGridView à repeindre.A Rectangle that represents the area of the DataGridView that needs to be repainted.

bounds
Rectangle

Rectangle qui contient la zone de la bordure en train d’être peinte.A Rectangle that contains the area of the border that is being painted.

cellStyle
DataGridViewCellStyle

DataGridViewCellStyle qui contient les informations de mise en forme et de style relatives à la cellule active.A DataGridViewCellStyle that contains formatting and style information about the current cell.

advancedBorderStyle
DataGridViewAdvancedBorderStyle

DataGridViewAdvancedBorderStyle qui contient les styles de bordure de la bordure en train d’être peinte.A DataGridViewAdvancedBorderStyle that contains border styles of the border that is being painted.

Exemples

L’exemple de code suivant illustre l’utilisation de cette méthode.The following code example illustrates the use of this method. Cet exemple fait partie d’un exemple plus complet disponible dans Guide pratique pour désactiver des boutons dans une colonne de bouton du contrôle DataGridView Windows Forms.This example is part of a larger example available in How to: Disable Buttons in a Button Column in the Windows Forms DataGridView Control.

protected override void Paint(Graphics graphics,
    Rectangle clipBounds, Rectangle cellBounds, int rowIndex,
    DataGridViewElementStates elementState, object value,
    object formattedValue, string errorText,
    DataGridViewCellStyle cellStyle,
    DataGridViewAdvancedBorderStyle advancedBorderStyle,
    DataGridViewPaintParts paintParts)
{
    // The button cell is disabled, so paint the border,  
    // background, and disabled button for the cell.
    if (!this.enabledValue)
    {
        // Draw the cell background, if specified.
        if ((paintParts & DataGridViewPaintParts.Background) ==
            DataGridViewPaintParts.Background)
        {
            SolidBrush cellBackground =
                new SolidBrush(cellStyle.BackColor);
            graphics.FillRectangle(cellBackground, cellBounds);
            cellBackground.Dispose();
        }

        // Draw the cell borders, if specified.
        if ((paintParts & DataGridViewPaintParts.Border) ==
            DataGridViewPaintParts.Border)
        {
            PaintBorder(graphics, clipBounds, cellBounds, cellStyle,
                advancedBorderStyle);
        }

        // Calculate the area in which to draw the button.
        Rectangle buttonArea = cellBounds;
        Rectangle buttonAdjustment =
            this.BorderWidths(advancedBorderStyle);
        buttonArea.X += buttonAdjustment.X;
        buttonArea.Y += buttonAdjustment.Y;
        buttonArea.Height -= buttonAdjustment.Height;
        buttonArea.Width -= buttonAdjustment.Width;

        // Draw the disabled button.                
        ButtonRenderer.DrawButton(graphics, buttonArea,
            PushButtonState.Disabled);

        // Draw the disabled button text. 
        if (this.FormattedValue is String) 
        {
            TextRenderer.DrawText(graphics,
                (string)this.FormattedValue,
                this.DataGridView.Font,
                buttonArea, SystemColors.GrayText);
        }
    }
    else
    {
        // The button cell is enabled, so let the base class 
        // handle the painting.
        base.Paint(graphics, clipBounds, cellBounds, rowIndex,
            elementState, value, formattedValue, errorText,
            cellStyle, advancedBorderStyle, paintParts);
    }
}
Protected Overrides Sub Paint(ByVal graphics As Graphics, _
    ByVal clipBounds As Rectangle, ByVal cellBounds As Rectangle, _
    ByVal rowIndex As Integer, _
    ByVal elementState As DataGridViewElementStates, _
    ByVal value As Object, ByVal formattedValue As Object, _
    ByVal errorText As String, _
    ByVal cellStyle As DataGridViewCellStyle, _
    ByVal advancedBorderStyle As DataGridViewAdvancedBorderStyle, _
    ByVal paintParts As DataGridViewPaintParts)

    ' The button cell is disabled, so paint the border,  
    ' background, and disabled button for the cell.
    If Not Me.enabledValue Then

        ' Draw the background of the cell, if specified.
        If (paintParts And DataGridViewPaintParts.Background) = _
            DataGridViewPaintParts.Background Then

            Dim cellBackground As New SolidBrush(cellStyle.BackColor)
            graphics.FillRectangle(cellBackground, cellBounds)
            cellBackground.Dispose()
        End If

        ' Draw the cell borders, if specified.
        If (paintParts And DataGridViewPaintParts.Border) = _
            DataGridViewPaintParts.Border Then

            PaintBorder(graphics, clipBounds, cellBounds, cellStyle, _
                advancedBorderStyle)
        End If

        ' Calculate the area in which to draw the button.
        Dim buttonArea As Rectangle = cellBounds
        Dim buttonAdjustment As Rectangle = _
            Me.BorderWidths(advancedBorderStyle)
        buttonArea.X += buttonAdjustment.X
        buttonArea.Y += buttonAdjustment.Y
        buttonArea.Height -= buttonAdjustment.Height
        buttonArea.Width -= buttonAdjustment.Width

        ' Draw the disabled button.                
        ButtonRenderer.DrawButton(graphics, buttonArea, _
            PushButtonState.Disabled)

        ' Draw the disabled button text. 
        If TypeOf Me.FormattedValue Is String Then
            TextRenderer.DrawText(graphics, CStr(Me.FormattedValue), _
                Me.DataGridView.Font, buttonArea, SystemColors.GrayText)
        End If

    Else
        ' The button cell is enabled, so let the base class 
        ' handle the painting.
        MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, _
            elementState, value, formattedValue, errorText, _
            cellStyle, advancedBorderStyle, paintParts)
    End If
End Sub

S’applique à

Voir aussi