1

我需要以编程方式更改 WinForms DataGridView 中各个单元格的边框。在网上搜索时,我发现了这个链接(http://bytes.com/groups/net-vb/501128-changed-datagridview-cell-borders-runtime),这与我正在尝试做的事情相同;但是,没有解决方案的代码示例,即

“所以你可以从DataGridViewCell类继承并重写AdjustCellBorderStyle方法来获得一个自定义版本的DataGridViewCell。然后你可以在你的DataGridView中使用这个自定义的DataGridViewCell。注意:在你自定义的DataGridViewCell中,你应该公开一个DataGridViewAdvancedBorderStyle公共成员,以便DataGridView代码可以将此成员边框样式信息设置到单元格。然后在AdjustCellBorderStyle实现中,您应该检查此DataGridViewAdvancedBorderStyle公共成员并返回相应的DataGridViewAdvancedBorderStyle。然后DataGridView PaintCells可以使用它来绘制您的单元格。“。

我很难理解实施此解决方案。有人可以将以上内容翻译成有效的 VB.Net 代码并提供一个调用它来更改单个单元格边框的示例吗?

4

1 回答 1

1

这是一个现成的示例,它可以满足您的需要,只是隐藏在设置背景颜色的额外功能中。

http://www.codeproject.com/KB/grid/hulihui_CustomDataGridVie.aspx

寻找线条

// must draw border for grid scrolling horizontally 
e.Graphics.DrawRectangle(gridPenColor, rect1);  

该线绘制了一个单元格边框,因此要更改单个单元格边框,请更改事件参数(CellBackColorEventArgs 类)以包含您想要描述边框的任何属性。然后在 DrawCellBackColor 方法中,根据这些传入的属性(以及您想在单元格中绘制的任何其他内容)绘制边框

于 2009-06-15T11:01:08.833 回答