【发布时间】:2011-05-26 14:22:48
【问题描述】:
我想知道哪种方法可以更好地为 datagridview 单元格着色?
您可以在设计时使用网格上设置的样式。出于某种原因,我不经常使用这些。
或
您可以处理网格中每个单元格的单元格格式化事件并进行比较。
我不知道样式如何检查和应用样式,但如果它比每个单元格的单元格格式化事件调用更少,它似乎会更好。我不确定,所以我想我会在这里问。
【问题讨论】:
标签: winforms datagridview
我想知道哪种方法可以更好地为 datagridview 单元格着色?
您可以在设计时使用网格上设置的样式。出于某种原因,我不经常使用这些。
或
您可以处理网格中每个单元格的单元格格式化事件并进行比较。
我不知道样式如何检查和应用样式,但如果它比每个单元格的单元格格式化事件调用更少,它似乎会更好。我不确定,所以我想我会在这里问。
【问题讨论】:
标签: winforms datagridview
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;
【讨论】: