gpt4 book ai didi

winforms - DataGridViewComboBoxColumn 在 Windows 7+ 操作系统上的行为有所不同

转载 作者:行者123 更新时间:2023-12-03 01:22:20 27 4
gpt4 key购买 nike

我在 Windows 窗体中制作了一个客户端应用程序。我使用 Windows Server 2008 R2 进行开发。

但是,客户报告了一些我无法在我的计算机上重现的错误,但是当我在 Windows 7 或 10 上部署相同的解决方案时。它给了我不同的结果。

到目前为止我有两个问题:

  1. DataGridViewComboBoxColumn 背景颜色变成灰色。
  2. 当使用制表符或光标键在列之间移动时,它们会跳过组合框列。 这是最大的问题。

我用最少的代码创建了一个测试应用程序,发现测试应用程序也存在此问题。

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 - 请注意,尽管移动光标键,第一列并未突出显示
enter image description here
Windows 2008 - 请注意,dfirst 列突出显示,并且单元格没有灰显。
enter image description here

任何帮助将不胜感激。

最佳答案

您可以尝试更改DisplayStyle属性设置为 Nothing 枚举值,以便您的列具有样式并且焦点可见。然而,组合框箭头显然消失了,但这对您来说可能不是问题。

this.Column1.DisplayStyle = System.Windows.Forms.DataGridViewComboBoxDisplayStyle.Nothing;

Result

或者尝试更改FlatStyle属性设置为 Flat,以便您看到组合框箭头:

this.Column1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;

Flat

关于winforms - DataGridViewComboBoxColumn 在 Windows 7+ 操作系统上的行为有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45856902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com