DataGridView特殊着色 - 哪种方式更好的样式或cellformatting事件?

时间:2011-05-26 14:22:48

标签: winforms datagridview

我想知道效率,这是进行datagridview单元着色的更好方法吗?

您可以在设计时使用网格上设置的样式。出于某种原因,我不经常使用这些。

您可以处理网格中每个单元格的单元格格式化事件并进行比较。

我不知道样式是如何检查和应用样式的,但如果它对每个单元格进行的调用少于单元格格式化事件,那么它看起来会更好。我不确定所以我想我会在这里问。

1 个答案:

答案 0 :(得分:0)

CellFormatting事件确实是一个昂贵的选项,因为每次绘制时都会调用每个可见单元格:如果你在代码中设置样式,我会发现它更容易:

     DataGridViewCellStyle cellStyle = new DataGridViewCellStyle
        {
            Alignment = DataGridViewContentAlignment.MiddleLeft,
            BackColor = Color.White,
            ForeColor = Color.Black,
            SelectionBackColor = Color.FromArgb(224, 224, 224),
            SelectionForeColor = Color.Black,
            WrapMode = DataGridViewTriState.False,
            NullValue = string.Empty
        };

      myDGV.DefaultCellStyle = cellStyle;
      myDGV.ColumnHeadersDefaultCellStyle = cellStyle;