我需要以编程方式改变各个单元的边界在一个WinForms DataGridView中。当在“网搜索,我发现这个链接( http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime ),这是我试图做同样的事情;然而,没有一个代码示例中,存在的解决方案,这是

“所以,你可以从继承 DataGridViewCell的类,并覆盖AdjustCellBorderStyle方法来获取 定制的DataGridViewCell的版本。然后你可以使用这个定制 DataGridViewCell的在你的DataGridView。 注意: 在您的自定义的DataGridViewCell,你应该揭露 DataGridViewAdvancedBorderStyle公众成员,这样的DataGridView代码 请将此成员边框样式到小区。然后在 AdjustCellBorderStyle实施,你应该检查这 DataGridViewAdvancedBorderStyle公共成员,并返回相应的 DataGridViewAdvancedBorderStyle。然后DataGridView的PaintCells可以用它来 画你的。“

我有实现该溶液很难理解。可能有人请翻译成以上工作VB.Net代码,并提供调用它来更改单个单元格的边框的例子吗?

有帮助吗?

解决方案

下面是一个现成的例子做你所需要的,只是被隐藏当中设置背景色的额外功能。

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

查找线路

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

这行绘制一个单元边框,因此,改变单个细胞边界改变事件的args(CellBackColorEventArgs类),包括你想描述边框任何属性。然后在DrawCellBackColor方法来绘制基于这些特性中(以及任何你想在单元格中画)

通过边境
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top