c #datagridview图形问题cell.style.backcolor

时间:2013-10-02 12:38:48

标签: c# windows

在我的开发机器上,这段代码看起来不错。

            foreach (DataGridViewRow dgr in dgListe.Rows)
            {
                if (dgr.Cells["ColorName"].Value != "" && dgr.Cells["ColorName"].Value != null)
                {
                    foreach (DataGridViewCell drgc in dgr.Cells) {
                        drgc.Style.BackColor = Color.FromName(dgr.Cells["ColorName"].Value.ToString());
                    }

                }
            }

一样好用
            foreach (DataGridViewRow dgr in dgListe.Rows)
            {
                if (dgr.Cells["ColorName"].Value != "" && dgr.Cells["ColorName"].Value != null)
                {

                    DataGridViewCellStyle zs = new DataGridViewCellStyle();
                    zs = dgr.DefaultCellStyle;
                    zs.BackColor = Color.FromName(dgr.Cells["ColorName"].Value.ToString());
                    dgr.DefaultCellStyle = zs;
                }
            }

但是在某些电脑上做了一些像shaddow副本?滚动列表时的自我(att。截图)

好的:(新PC) - >

enter image description here

N.OK :(旧电脑) - >

enter image description here

信息:Dotnotfx 4客户端框架,标准。 winform项目,任何cpu

2 个答案:

答案 0 :(得分:0)

是一个黑客,但它对我有用:

在格式化之前,将默认的BackColor(如White)添加到datagridview。

答案 1 :(得分:0)

也许会帮助某人。出现此问题的原因可能是argb中的alpha通道。因此,如果您更改不使用alpha的颜色创建方法(如我所做的那样),则可以解决问题