c# - 当用户更改单元格值时要捕获的 DataGridView 事件

标签 c# winforms datagridview

我有一个用 C# 编写的 Winforms 应用程序。

在我的一个 DataGridView 中,除了一个名为“Reference”的列之外,我已将所有列设置为 ReadOnly = true;

我希望应用程序知道用户何时更改了“引用”列中的任何内容,但到目前为止我尝试过的所有事件都比用户进行更改时触发的次数多得多。例如,CurrentCellChanged 在最初呈现 DataGridView 时触发,并且每次用户只需单击或沿行切换等。

我只对捕获用户对“引用”列中数据的更改感兴趣,该列是 ReadOnly = false 的唯一列;

为此使用哪个事件最好?

最佳答案

CellValueChanged 是您所需要的:

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){
  if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){
    //your code goes here
  }
}

我认为 CellEndEdit 事件也适合您的需要:

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e){
  if(dataGridView1.Columns[e.ColumnIndex].Name == "Reference"){
    //your code goes here
  }
}

关于c# - 当用户更改单元格值时要捕获的 DataGridView 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19537784/

相关文章:

mysql - Visual Basic datagridview 结果显示结果数而不是文本

c# - DataGridView自动生成列

c# - 如何在 C# 中的 MS Access 数据库中创建表

c# - 在Visual Studio中,为什么所有文件都自动成为我的C#项目的一部分?

c# - 检查滚动条是否在数据 GridView 中可见

c# - DataGridViewColumn.CellTemplate 如何获取参数?

c# - 服务与存储库

c# - AWS Toolkit for Visual Studio 错误? AWS C# lambda 无法加载Kafka 的librdkafka 原生库?

c# - 在 C# 中将数据从一个表单文本框移动到另一个表单文本框

c# - 绘制圆后如何将其视为控件? - 移动和选择形状