代码改变世界

C# 线程更改DataGridview 行颜色 界面显示异常

2010-10-25 20:28  kwjlk  阅读(896)  评论(0)    收藏  举报

在更改DataGridView行的颜色时,使用Color.FromARGB()获取颜色。 这个方法有3个重载,其中一个重载竟然使得DataGridView的界面

显示产生异常。

正常时(使用Color.Green方式和Color.FromArgb(int,int,int,int)模式)

 

 

线程更改DataGridView行颜色后界面显示异常(使用Color.FromArgb(int)模式)

非线程模式使用Color.FromArgb(int)模式,仍然界面显示异常。

 

这个是什么原因呢?暂时的解决办法是在任何情况下都不使用Color.FromArgb(int)这个方法构造颜色Color对象。

 

主要代码:

dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(0x7800FF00); //使用这种方式 数据列表界面显示异常
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.FromArgb(120, 255, 120); //使用这种方式 数据列表界面显示如预期
//dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Green;