我在Windows窗体中创建了一个客户端应用程序。我已经使用Windows Server 2008 R2进行开发。
然而,客户端报告的错误很少,我无法在我的机器上重现,但是当我在Windows 7或10上部署相同的解决方案时。它给了我不同的结果。
截至目前我现在有两个问题:
DataGridViewComboBoxColumn
后面的颜色变成了灰色。我使用最少的代码创建了一个测试应用程序,并发现测试应用程序也存在此问题。
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
{
column.HeaderText = "CB";
column.Name = "CB";
column.DefaultCellStyle.BackColor = Color.White;
//column.CellTemplate = new DataGridViewCheckBoxCell();
column.DataSource = list;
column.ValueType = typeof(string);
}
dataGridView1.Columns.Add(column);
dataGridView1.DataSource = dtEmp;
以下是问题的截图:
Windows 10 - 请注意,尽管移动光标键,但第一列未突出显示
Windows 2008-请注意,dfirst列会突出显示,并且单元格不会显示为灰色。
非常感谢任何帮助。
答案 0 :(得分:0)
您可以尝试将DisplayStyle属性更改为Nothing
枚举值,以便您的列可以通过样式和焦点显示。然而,组合框箭头显然会消失,但这对您来说可能不是问题。
this.Column1.DisplayStyle = System.Windows.Forms.DataGridViewComboBoxDisplayStyle.Nothing;
或者尝试将FlatStyle属性更改为Flat
,这样您就会看到一个组合框箭头:
this.Column1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;