gpt4 book ai didi

.NET Windows 窗体 datagridview - 必须单击组合框列三次才能获得焦点

转载 作者:行者123 更新时间:2023-12-01 12:00:51 25 4
gpt4 key购买 nike

我正在制作一个 Windows 窗体应用程序,其中有一个标准的 DataGridViewDataGridView 中有多个 DataGridViewComboBoxColumn。和他们一起工作很痛苦。要打开其中一个(如下拉列表),您必须至少单击该单元格 3 (!!!) 次。似乎第一次点击结束了对前一个单元格的编辑;第二次点击激活单元格;只有第三次点击才会发送到组合框本身。用户界面噩梦,尤其是当您必须通过这些组合框输入大量数据时。

有什么解决方法吗?

添加:我只是在空白解决方案中尝试过。只有一个表单和一个数据 GridView 。同样的问题。我的同事也有同样的问题,所以我不能是唯一一个遇到这个问题的人。没有标准的解决方法吗?

最佳答案

我的 DataGridView 遇到了同样的问题。我通过在 DataGridView 处理点击本身之前更改选定的单元格解决了这个问题:

// Subscribe to DataGridView.MouseDown when convenient
this.dataGridView.MouseDown += this.HandleDataGridViewMouseDown;

private void HandleDataGridViewMouseDown(object sender, MouseEventArgs e)
{
// See where the click is occurring
DataGridView.HitTestInfo info = this.dataGridView.HitTest(e.X, e.Y);

if (info.Type == DataGridViewHitTestType.Cell)
{
switch (info.ColumnIndex)
{
// Add and remove case statements as necessary depending on
// which columns have ComboBoxes in them.

case 1: // Column index 1
case 2: // Column index 2
this.dataGridView.CurrentCell =
this.dataGridView.Rows[info.RowIndex].Cells[info.ColumnIndex];
break;
default:
break;
}
}
}

关于.NET Windows 窗体 datagridview - 必须单击组合框列三次才能获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716036/

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