C# 编辑时,Datagridview单元格文本消失

C# 编辑时,Datagridview单元格文本消失,c#,winforms,datagridview,C#,Winforms,Datagridview,我正在用C构建一个winform应用程序。我正在使用DataGridView填充数据。然而,当我试图编辑它时,单元格内容就消失了。只有在单击另一个单元格时,文本才会重新出现 任何想法,为什么会发生,以及如何修复它。附件是文本消失时DataGridView的屏幕截图。 谢谢这是因为当选择单元格时,前景色与单元格背景色相同 解决方法是更改选择的前景色。因此,在数据网格属性上查找DefaultCellStyle,并将SelectionForeColor从系统上的白色HighlightText更改为除

我正在用C构建一个winform应用程序。我正在使用DataGridView填充数据。然而,当我试图编辑它时,单元格内容就消失了。只有在单击另一个单元格时,文本才会重新出现

任何想法,为什么会发生,以及如何修复它。附件是文本消失时DataGridView的屏幕截图。


谢谢

这是因为当选择单元格时,前景色与单元格背景色相同

解决方法是更改选择的前景色。因此,在数据网格属性上查找DefaultCellStyle,并将SelectionForeColor从系统上的白色HighlightText更改为除黑白之外的其他颜色似乎是一个明显的选择。也可以在柱上而不是在整个网格上进行设置,在这种情况下,右键单击网格并选择“编辑列”,然后再次选择要编辑的DefaultCellStyle


在我的例子中,网格上的DefaultCellStyle是SelectBackColor=高亮显示蓝色,SelectForeColor=高亮显示文本白色,因此从表面上看,我希望文本仍然可见。列设置只是使用网格默认值。但我看到的是白纸黑字。因此,这还有很多,但解决方案仍然是修改SelectionForColor。

您是使用数据绑定绑定网格,还是手动填充每一行?这些颜色是通过单元格样式还是通过事件处理程序(如CellPaint)中的自定义绘制完成的?在任何情况下,我们都需要更多的代码来进一步帮助。标准DataGridViews没有这个问题,所以它必须是您添加到其中的内容。我的猜测是text color==单元格高光back color.HI,我没有使用数据绑定。我正在手动填充每一行。我更改了RowsDefaultCellStyle以突出显示文本。如果文本颜色与单元格高亮显示颜色相同,我会问您是否将数据填充到数据表中?你能展示一下你是如何手动填充行的代码吗?