你好
我搜索了很多有关更改DataGridView单元格边框的信息。 BYTES帮助了我,因此我将写下解决方案:
1.您应该重写DataGridViewTextBoxCell类,并且新类应具有DataGridViewAdvancedBorderStyle类型的属性,您可以从外部更改此属性:
2.您还将覆盖PaintBorder和Paint方法,使它们将获得新属性,而不是默认属性。
3.就是这样,您所要做的就是使用您自己的覆盖的单元格类在行中添加新的单元格。
-------------------------------------
这是重写的类:
类CustomDataGridViewCell:DataGridViewTextBoxCell
{
私有DataGridViewAdvancedBorderStyle _style;
公共CustomDataGridViewCell():base()
{
_style = new DataGridViewAdvancedBorderStyle();
_style.Bottom = DataGridViewAdvancedCellBorderStyle.None;
_style.Top = DataGridViewAdvancedCellBorderStyle.None;
_style.Left = DataGridViewAdvancedCellBorderStyle.None;
_style.Right = DataGridViewAdvancedCellBorderStyle.None;
}
公共DataGridViewAdvancedBorderStyle AdvancedBorderStyle
{
得到{return _style; }
组
{
_style.Bottom = value.Bottom;
_style.Top = value.Top;
_style.Left = value.Left;
_style.Right = value.Right;
}
}
受保护的重写void PaintBorder(图形图形,矩形clipBounds,矩形边界,DataGridViewCellStyle cellStyle,DataGridViewAdvancedBorderStyle advancedBorderStyle)
{
base.PaintBorder(graphics,clipBounds,bounds,cellStyle,_style);
}
受保护的覆盖无效Paint
{
base.Paint(graphics,clipBounds,cellBounds,rowIndex,cellState,value,formattedValue,errorText,cellStyle,_style,paintParts);
}
}
From: https://bytes.com/topic/c-sharp/insights/877569-changing-datagridview-cell-borders