我是我的WinForms 2.0应用程序,我在当前单元格(IDataGridViewEditingControl)中使用了一个DataGridView和一个自定义编辑控件。
当前单元格使用我的自定义编辑控件,该控件继承自textbox并实现IDataGridViewEditingControl接口。此控件现在注册到TextChanged事件,以便在编辑值时执行某些验证逻辑,并注册到Leave事件,以便将自定义编辑控件中的某些视觉效果应用于DataGridView单元格。
代码看起来有点像这样:
public class CustomerTextEditingControl : CustomerTextBox, IDataGridViewEditingControl
{
...
protected override void OnLeave(object sender, EventArgs e)
{
dataGridView[_col, _row].Style.BackColor = BackgroundColor;
dataGridView[_col, _row].Style.ForeColor = ForegroundColor;
...
}
...
}这就是我的问题:尽管单元格的背景可以正确地呈现为任何颜色的BackgroundColor,但文本本身始终呈现为黑色,而不管ForegroundColor是什么颜色。首先,我想可能有另一种样式适用于单元格的内容,但我在那里找不到任何东西。所以我现在很困惑:-)
任何帮助都是非常感谢的!
谢谢你,马克
发布于 2011-09-02 15:52:46
发现了问题: DataGridView类被子类化,OnPaintCell方法被覆盖。唯一考虑的样式属性是BackColor ...
https://stackoverflow.com/questions/7027819
复制相似问题