DataGridViewAdvancedBorderStyle Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene gli stili per i bordi delle celle di un controllo DataGridView.
public ref class DataGridViewAdvancedBorderStyle sealed : ICloneable
public sealed class DataGridViewAdvancedBorderStyle : ICloneable
type DataGridViewAdvancedBorderStyle = class
interface ICloneable
Public NotInheritable Class DataGridViewAdvancedBorderStyle
Implements ICloneable
- Ereditarietà
-
DataGridViewAdvancedBorderStyle
- Implementazioni
Esempio
Nell'esempio di codice seguente vengono modificati i bordi delle celle di un oggetto DataGridView in modo che un doppio bordo separa le celle interne e la cella di intestazione superiore sinistra dalle intestazioni di riga e colonna. Questo esempio illustra come eseguire l'override dei AdjustColumnHeaderBorderStylemetodi , AdjustRowHeaderBorderStylee AdjustCellBorderStyle e della AdjustedTopLeftHeaderBorderStyle proprietà . Questi membri usano DataGridViewAdvancedBorderStyle oggetti per modificare i singoli bordi delle celle.
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;
}
}
}
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
Commenti
Il DataGridView controllo consente di personalizzarne completamente l'aspetto, inclusi i bordi delle celle e delle intestazioni. Ha DataGridViewCellBorderStyleproprietà , ColumnHeadersBorderStylee RowHeadersBorderStyle che consentono di impostare l'aspetto del bordo della cella. Tuttavia, se è necessario personalizzare ulteriormente i bordi, la DataGridViewAdvancedBorderStyle classe consente di impostare lo stile del bordo sui singoli lati delle celle. Le Leftproprietà , Right, Tope Bottom di DataGridViewAdvancedBorderStyle rappresentano rispettivamente il bordo sinistro, destro, superiore e inferiore di una cella. È possibile impostare queste proprietà sulle AdvancedCellBorderStyleproprietà , , AdvancedColumnHeadersBorderStyleAdvancedRowHeadersBorderStyle dell'oggetto DataGridView per produrre vari aspetti per i bordi tra le celle.
Costruttori
DataGridViewAdvancedBorderStyle() |
Inizializza una nuova istanza della classe DataGridViewAdvancedBorderStyle. |
Proprietà
All |
Ottiene o imposta lo stile del bordo per tutti i bordi di una cella. |
Bottom |
Ottiene o imposta lo stile del bordo inferiore di una cella. |
Left |
Ottiene lo stile del bordo sinistro di una cella. |
Right |
Ottiene lo stile del bordo destro di una cella. |
Top |
Ottiene lo stile del bordo superiore di una cella. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto DataGridViewAdvancedBorderStyle corrente. |
GetHashCode() |
Svolge una funzione hash per un tipo particolare. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto DataGridViewAdvancedBorderStyle. |
Implementazioni dell'interfaccia esplicita
ICloneable.Clone() |
Crea un nuovo oggetto che è una copia dell'istanza corrente. |