gpt4 book ai didi

c# - DataGridView.CellContentClick

转载 作者:行者123 更新时间:2023-11-30 13:25:16 29 4
gpt4 key购买 nike

如果我用鼠标非常快速地单击 DataGridViewCheckBoxCell,DataGridView.CellContentClick 不会触发。我该如何解决这个问题?我需要知道 CheckBox 的检查状态何时更改

最佳答案

尝试处理 CellMouseUp 事件。
您可以检查 MouseUp 事件发生在哪个列,看看它是否是您的复选框列。
您还可以查明它是否处于编辑模式并以编程方式结束编辑模式,这将触发 CellValueChanged 事件。

在下面的示例中,我有一个包含两个列的 DataGridView。
第一个是 DataGridViewTextBoxColumn,第二个是 DataGridViewCheckBoxColumn
当复选框更改时,第一列将反射(reflect)其选中状态,而无需从行或单元格中移动。

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.Rows.Add("False", false);
dataGridView1.Rows.Add("True", true);
}

private void dataGridView1_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == 1 && e.RowIndex >-1 && dataGridView1.Rows[e.RowIndex].Cells[1].IsInEditMode)
{
dataGridView1.EndEdit();
}
}

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1)
{
dataGridView1.Rows[e.RowIndex].Cells[0].Value =
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
}
}

关于c# - DataGridView.CellContentClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381072/

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