0

如果我有一个普通的 DataGridView 并且我只想显示水平线,我应用以下代码:

dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal;

使用 UI 模板 Krypton for WinFroms,它对我不起作用。我用:

kryptonDataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal;

线条仍然出现!

有没有人遇到过这个问题并解决了?

4

1 回答 1

0

我知道这是一个老问题,但我希望你仍然可以发现这很有用:

为什么您的代码不起作用:

嗯,KryptonDataGridView 继承自 DataGridView WinForms 控件,通过查看源代码,你会发现KryptonDataGridView.CellBorderStyle只是获取或设置的值与base.CellBorderStyleKryptonDataGridView 显示的边框不一样。

许多继承的属性对氪控件(Font例如属性)没有影响。但在大多数情况下,氪星提供了一种替代方案(通常具有更多功能)

解决方案:

DataGridView.CellBorderStyle要使用 KryptonDataGridView复制 的行为,您应该使用DataCell.Border.DrawBorders适当的属性State

using ComponentFactory.Krypton.Toolkit;
//

kryptonDataGridView1.StateCommon.DataCell.Border.DrawBorders =
    PaletteDrawBorders.TopBottom;

结果:

氪数据网格视图

希望有帮助。

于 2018-05-17T22:46:18.397 回答