DataGridViewAdvancedBorderStyle Class
Contains border styles for the cells in a DataGridView control.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
| Name | Description | |
|---|---|---|
![]() | DataGridViewAdvancedBorderStyle() | Initializes a new instance of the DataGridViewAdvancedBorderStyle class. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current DataGridViewAdvancedBorderStyle.(Overrides Object.Equals(Object).) |
![]() | GetHashCode() | Serves as a hash function for a particular type.(Overrides Object.GetHashCode().) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the DataGridViewAdvancedBorderStyle.(Overrides Object.ToString().) |
| Name | Description | |
|---|---|---|
![]() ![]() | ICloneable.Clone() | Creates a new object that is a copy of the current instance. |
The DataGridView control allows you to fully customize its appearance, including the borders of the cells and headers. The DataGridView has CellBorderStyle, ColumnHeadersBorderStyle, and RowHeadersBorderStyle properties that allow you to set the appearance of the cell border. However, if you need to further customize the borders, the DataGridViewAdvancedBorderStyle class allows you to set the style of the border on the individual sides of the cells. The Left, Right, Top, and Bottom properties of DataGridViewAdvancedBorderStyle represent the left, right, top, and bottom border of a cell, respectively. You can set these properties on the AdvancedCellBorderStyle, AdvancedColumnHeadersBorderStyle, AdvancedRowHeadersBorderStyle properties of the DataGridView to produce various appearances for the borders between the cells.
The following code example adjusts the cell borders of a DataGridView so that a double border separates the interior cells and the top left header cell from the row and column headers. This sample demonstrates how to override the AdjustColumnHeaderBorderStyle, AdjustRowHeaderBorderStyle, and AdjustCellBorderStyle methods, and the AdjustedTopLeftHeaderBorderStyle property. These members use DataGridViewAdvancedBorderStyle objects to modify individual cell borders.
Imports System Imports System.Drawing Imports System.Windows.Forms Namespace DataGridViewAdvancedBorderStyleSample Class Form1 Inherits Form <STAThreadAttribute()> _ Public Shared Sub Main() Application.EnableVisualStyles() Application.Run(New Form1()) End Sub Public Sub New() Me.AutoSize = True Me.Controls.Add(New CustomDataGridView()) Me.Text = "DataGridView advanced border styles demo" End Sub End Class Public Class CustomDataGridView Inherits DataGridView Public Sub New() With Me .RowTemplate = New DataGridViewCustomRow() .Columns.Add(New DataGridViewCustomColumn()) .Columns.Add(New DataGridViewCustomColumn()) .Columns.Add(New DataGridViewCustomColumn()) .RowCount = 4 .EnableHeadersVisualStyles = False .AutoSize = True End With End Sub Public Overrides ReadOnly Property AdjustedTopLeftHeaderBorderStyle() _ As DataGridViewAdvancedBorderStyle Get Dim newStyle As New DataGridViewAdvancedBorderStyle() With newStyle .Top = DataGridViewAdvancedCellBorderStyle.None .Left = DataGridViewAdvancedCellBorderStyle.None .Bottom = DataGridViewAdvancedCellBorderStyle.Outset .Right = DataGridViewAdvancedCellBorderStyle.OutsetDouble End With Return newStyle End Get End Property Public Overrides Function AdjustColumnHeaderBorderStyle( _ ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _ ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _ ByVal firstDisplayedColumn As Boolean, ByVal lastVisibleColumn As Boolean) _ As DataGridViewAdvancedBorderStyle ' Customize the left border of the first column header and the ' bottom border of all the column headers. Use the input style for ' all other borders. If firstDisplayedColumn Then dataGridViewAdvancedBorderStylePlaceHolder.Left = _ DataGridViewAdvancedCellBorderStyle.OutsetDouble Else dataGridViewAdvancedBorderStylePlaceHolder.Left = _ DataGridViewAdvancedCellBorderStyle.None End If With dataGridViewAdvancedBorderStylePlaceHolder .Bottom = DataGridViewAdvancedCellBorderStyle.Single .Right = dataGridViewAdvancedBorderStyleInput.Right .Top = dataGridViewAdvancedBorderStyleInput.Top End With Return dataGridViewAdvancedBorderStylePlaceHolder End Function End Class Public Class DataGridViewCustomColumn Inherits DataGridViewColumn Public Sub New() Me.CellTemplate = New DataGridViewCustomCell() End Sub End Class Public Class DataGridViewCustomCell Inherits DataGridViewTextBoxCell Public Overrides Function AdjustCellBorderStyle( _ ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _ ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _ ByVal singleVerticalBorderAdded As Boolean, _ ByVal singleHorizontalBorderAdded As Boolean, _ ByVal firstVisibleColumn As Boolean, _ ByVal firstVisibleRow As Boolean) As DataGridViewAdvancedBorderStyle ' Customize the top border of cells in the first row and the ' right border of cells in the first column. Use the input style ' for all other borders. If firstVisibleColumn Then dataGridViewAdvancedBorderStylePlaceHolder.Left = _ DataGridViewAdvancedCellBorderStyle.OutsetDouble Else dataGridViewAdvancedBorderStylePlaceHolder.Left = _ DataGridViewAdvancedCellBorderStyle.None End If If firstVisibleRow Then dataGridViewAdvancedBorderStylePlaceHolder.Top = _ DataGridViewAdvancedCellBorderStyle.InsetDouble Else dataGridViewAdvancedBorderStylePlaceHolder.Top = _ DataGridViewAdvancedCellBorderStyle.None End If With dataGridViewAdvancedBorderStylePlaceHolder .Right = dataGridViewAdvancedBorderStyleInput.Right .Bottom = dataGridViewAdvancedBorderStyleInput.Bottom End With Return dataGridViewAdvancedBorderStylePlaceHolder End Function End Class Public Class DataGridViewCustomRow Inherits DataGridViewRow Public Overrides Function AdjustRowHeaderBorderStyle( _ ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _ ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _ ByVal singleVerticalBorderAdded As Boolean, _ ByVal singleHorizontalBorderAdded As Boolean, _ ByVal isFirstDisplayedRow As Boolean, _ ByVal isLastDisplayedRow As Boolean) As DataGridViewAdvancedBorderStyle ' Customize the top border of the first row header and the ' right border of all the row headers. Use the input style for ' all other borders. If isFirstDisplayedRow Then dataGridViewAdvancedBorderStylePlaceHolder.Top = _ DataGridViewAdvancedCellBorderStyle.InsetDouble Else dataGridViewAdvancedBorderStylePlaceHolder.Top = _ DataGridViewAdvancedCellBorderStyle.None End If With dataGridViewAdvancedBorderStylePlaceHolder .Right = DataGridViewAdvancedCellBorderStyle.OutsetDouble .Left = dataGridViewAdvancedBorderStyleInput.Left .Bottom = dataGridViewAdvancedBorderStyleInput.Bottom End With Return dataGridViewAdvancedBorderStylePlaceHolder End Function End Class End Namespace
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



