0

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

            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;
                }
            }

但是在一些电脑上做一些像影子副本这样的事情?它的自我,而滚动列表。(附件截图)

好的:(新电脑)->

在此处输入图像描述

N.OK.:(旧电脑)->

在此处输入图像描述

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

4

2 回答 2

0

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

在格式化之前将默认背景色(如白色)添加到 datagridview。

于 2014-05-27T07:47:30.980 回答
0

也许它会帮助某人。这个问题的原因可能是 argb 中的 alpha 通道。所以,如果你改变没有alpha的颜色创建方法(就像我做的那样),问题就可以解决

于 2020-01-10T12:50:40.480 回答