DataGridViewAdvancedBorderStyle クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


DataGridView コントロールでは、セルとヘッダーの境界線スタイルなどを含め、コントロールの外観を完全にカスタマイズできます。DataGridView の CellBorderStyle、ColumnHeadersBorderStyle、および RowHeadersBorderStyle の各プロパティを使用して、セル境界線の外観を設定します。ただし、境界線をさらに詳細にカスタマイズする必要がある場合には、DataGridViewAdvancedBorderStyle クラスを使用してセルの上下左右の境界線のスタイルを設定します。DataGridViewAdvancedBorderStyle の Left、Right、Top、Bottom の各プロパティは、それぞれセルの左側、右側、上側、下側の境界線を表します。AdvancedCellBorderStyle の各プロパティと、DataGridView の AdvancedColumnHeadersBorderStyle プロパティおよび AdvancedRowHeadersBorderStyle プロパティを設定することで、セル間の境界線の外観をさまざまに変更できます。

二重線の境界線を使って、内部のセルおよび左上のヘッダー セルを行ヘッダーおよび列ヘッダーから区分するように、DataGridView のセル境界線を設定するコード例を次に示します。この例では、AdjustColumnHeaderBorderStyle、AdjustRowHeaderBorderStyle、AdjustCellBorderStyle の各メソッドと、AdjustedTopLeftHeaderBorderStyle プロパティをオーバーライドする方法を示しています。これらのメンバでは、DataGridViewAdvancedBorderStyle オブジェクトを使用して個々のセル境界線を変更します。
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
using System; using System.Drawing; using System.Windows.Forms; namespace DataGridViewAdvancedBorderStyleSample { class Form1 : Form { [STAThreadAttribute()] public static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); } public Form1() { this.AutoSize = true; this.Controls.Add(new CustomDataGridView()); this.Text = "DataGridView advanced border styles demo"; } } public class CustomDataGridView : DataGridView { public CustomDataGridView() { this.RowTemplate = new DataGridViewCustomRow(); this.Columns.Add(new DataGridViewCustomColumn()); this.Columns.Add(new DataGridViewCustomColumn()); this.Columns.Add(new DataGridViewCustomColumn()); this.RowCount = 4; this.EnableHeadersVisualStyles = false; this.AutoSize = true; } public override DataGridViewAdvancedBorderStyle AdjustedTopLeftHeaderBorderStyle { get { DataGridViewAdvancedBorderStyle newStyle = new DataGridViewAdvancedBorderStyle(); newStyle.Top = DataGridViewAdvancedCellBorderStyle.None; newStyle.Left = DataGridViewAdvancedCellBorderStyle.None; newStyle.Bottom = DataGridViewAdvancedCellBorderStyle.Outset; newStyle.Right = DataGridViewAdvancedCellBorderStyle.OutsetDouble; return newStyle; } } public override DataGridViewAdvancedBorderStyle AdjustColumnHeaderBorderStyle( DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStyleInput , DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStylePlaceHolder , bool firstDisplayedColumn, bool lastVisibleColumn) { // 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. dataGridViewAdvancedBorderStylePlaceHolder.Left = firstDisplayedColumn ? DataGridViewAdvancedCellBorderStyle.OutsetDouble : DataGridViewAdvancedCellBorderStyle.None; dataGridViewAdvancedBorderStylePlaceHolder.Bottom = DataGridViewAdvancedCellBorderStyle.Single; dataGridViewAdvancedBorderStylePlaceHolder.Right = dataGridViewAdvancedBorderStyleInput.Right; dataGridViewAdvancedBorderStylePlaceHolder.Top = dataGridViewAdvancedBorderStyleInput.Top; return dataGridViewAdvancedBorderStylePlaceHolder; } } public class DataGridViewCustomColumn : DataGridViewColumn { public DataGridViewCustomColumn() { this.CellTemplate = new DataGridViewCustomCell(); } } public class DataGridViewCustomCell : DataGridViewTextBoxCell { public override DataGridViewAdvancedBorderStyle AdjustCellBorderStyle( DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStyleInput , DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStylePlaceHolder , bool singleVerticalBorderAdded, bool singleHorizontalBorderAdded, bool firstVisibleColumn, bool firstVisibleRow) { // 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. dataGridViewAdvancedBorderStylePlaceHolder.Left = firstVisibleColumn ? DataGridViewAdvancedCellBorderStyle.OutsetDouble : DataGridViewAdvancedCellBorderStyle.None; dataGridViewAdvancedBorderStylePlaceHolder.Top = firstVisibleRow ? DataGridViewAdvancedCellBorderStyle.InsetDouble : DataGridViewAdvancedCellBorderStyle.None; dataGridViewAdvancedBorderStylePlaceHolder.Right = dataGridViewAdvancedBorderStyleInput.Right; dataGridViewAdvancedBorderStylePlaceHolder.Bottom = dataGridViewAdvancedBorderStyleInput.Bottom; return dataGridViewAdvancedBorderStylePlaceHolder; } } public class DataGridViewCustomRow : DataGridViewRow { public override DataGridViewAdvancedBorderStyle AdjustRowHeaderBorderStyle( DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStyleInput , DataGridViewAdvancedBorderStyle dataGridViewAdvancedBorderStylePlaceHolder , bool singleVerticalBorderAdded, bool singleHorizontalBorderAdded, bool isFirstDisplayedRow, bool isLastDisplayedRow) { // 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. dataGridViewAdvancedBorderStylePlaceHolder.Top = isFirstDisplayedRow ? DataGridViewAdvancedCellBorderStyle.InsetDouble : DataGridViewAdvancedCellBorderStyle.None; dataGridViewAdvancedBorderStylePlaceHolder.Right = DataGridViewAdvancedCellBorderStyle.OutsetDouble; dataGridViewAdvancedBorderStylePlaceHolder.Left = dataGridViewAdvancedBorderStyleInput.Left; dataGridViewAdvancedBorderStylePlaceHolder.Bottom = dataGridViewAdvancedBorderStyleInput.Bottom; return dataGridViewAdvancedBorderStylePlaceHolder; } } }

System.Windows.Forms.DataGridViewAdvancedBorderStyle


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataGridViewAdvancedBorderStyle メンバ
System.Windows.Forms 名前空間
DataGridView クラス
DataGridView.CellBorderStyle プロパティ
DataGridView.ColumnHeadersBorderStyle プロパティ
DataGridView.RowHeadersBorderStyle プロパティ
DataGridView.AdvancedCellBorderStyle プロパティ
DataGridView.AdvancedColumnHeadersBorderStyle プロパティ
DataGridView.AdvancedRowHeadersBorderStyle プロパティ
Weblioに収録されているすべての辞書からDataGridViewAdvancedBorderStyle クラスを検索する場合は、下記のリンクをクリックしてください。

- DataGridViewAdvancedBorderStyle クラスのページへのリンク