DataGridViewCellValueEventHandler 委托

定义

表示将处理 CellValueNeededCellValuePushed 事件或 DataGridView 事件的方法。

C#
public delegate void DataGridViewCellValueEventHandler(object sender, DataGridViewCellValueEventArgs e);
C#
public delegate void DataGridViewCellValueEventHandler(object? sender, DataGridViewCellValueEventArgs e);

参数

sender
Object

事件源。

示例

下面的代码示例处理 事件, CellValuePushed 以在数据存储对象中存储更新和新条目。 此示例是参考主题中提供的更大示例的 DataGridView.VirtualMode 一部分。

C#
#region "data store maintance"
const int initialValue = -1;

private void dataGridView1_CellValueNeeded(object sender,
    DataGridViewCellValueEventArgs e)
{
    if (store.ContainsKey(e.RowIndex))
    {
        // Use the store if the e value has been modified 
        // and stored.            
        e.Value = store[e.RowIndex];
    }
    else if (newRowNeeded && e.RowIndex == numberOfRows)
    {
        if (dataGridView1.IsCurrentCellInEditMode)
        {
            e.Value = initialValue;
        }
        else
        {
            // Show a blank value if the cursor is just resting
            // on the last row.
            e.Value = String.Empty;
        }
    }
    else
    {
        e.Value = e.RowIndex;
    }
}

private void dataGridView1_CellValuePushed(object sender,
    DataGridViewCellValueEventArgs e)
{
    store.Add(e.RowIndex, int.Parse(e.Value.ToString()));
}
#endregion

private Dictionary<int, int> store = new Dictionary<int, int>();

注解

使用此委托在 控件中 DataGridView 实现虚拟模式。 有关虚拟模式的详细信息,请参阅 Windows 窗体 DataGridView 控件中的虚拟模式

创建 DataGridViewCellValueEventHandler 委托时,需要标识将处理该事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅