我需要以编程方式更改WinForms DataGridView中单个单元格的边框。在'网上搜索时,我发现这个链接(http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime)与我正在尝试的相同;但是,没有解决方案的代码示例,即
“所以你可以继承 DataGridViewCell类并重写AdjustCellBorderStyle方法来获取 DataGridViewCell的定制版本。然后你可以使用这个定制 DataGridView中的DataGridViewCell。 注意: 在您自定义的DataGridViewCell中,您应该公开一个 DataGridViewAdvancedBorderStyle公共成员使DataGridView代码可以 将此成员边框样式信息设置为单元格。然后在 AdjustCellBorderStyle实现,你应该检查一下 DataGridViewAdvancedBorderStyle公共成员并返回相应的 DataGridViewAdvancedBorderStyle。然后DataGridView PaintCells可以使用它 画你的细胞。“。
我很难理解实施此解决方案。有人可以将上述内容翻译成工作的VB.Net代码并提供一个调用它来更改单个单元格边框的示例吗?
答案 0 :(得分:1)
这是一个现成的示例,可以满足您的需要,只是隐藏在设置背景颜色的额外功能中。
http://www.codeproject.com/KB/grid/hulihui_CustomDataGridVie.aspx
寻找行
// must draw border for grid scrolling horizontally
e.Graphics.DrawRectangle(gridPenColor, rect1);
该行绘制单元格边框,因此要更改单个单元格边框,请更改Event args(CellBackColorEventArgs类)以包含要描述边框的任何属性。然后在DrawCellBackColor方法中根据传入的属性(以及您想在单元格中绘制的任何其他内容)绘制边框