C# 更改gridview';当光标进入单元格时,它将立即显示单元格值

C# 更改gridview';当光标进入单元格时,它将立即显示单元格值,c#,C#,我有一个网格视图。我想当用户编辑特定的单元格时,它的内容将被更改。 例如,如果内容为“A92-5”,则会更改为“A92”。 现在它可以工作,但是在离开单元之后。 我希望它在光标进入单元格时发生 private void _dvg_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (_dvg.CurrentCell.ColumnIndex == 2) {

我有一个网格视图。我想当用户编辑特定的单元格时,它的内容将被更改。 例如,如果内容为“A92-5”,则会更改为“A92”。 现在它可以工作,但是在离开单元之后。 我希望它在光标进入单元格时发生

private void _dvg_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (_dvg.CurrentCell.ColumnIndex == 2)
    {
        temp = _dvg.Rows[_dvg.CurrentCell.RowIndex].Cells[_dvg.CurrentCell.ColumnIndex].Value.ToString();
        words = temp.Split('-');

        _dvg.Rows[_dvg.CurrentCell.RowIndex].Cells[_dvg.CurrentCell.ColumnIndex].Value = words[0];
    }
}

您可以改为使用事件
CellEnter

private void _dvg_CellEnter(object sender, DataGridViewCellEventArgs e)
{
    if (_dvg.CurrentCell.ColumnIndex == 2)
    {
        temp = _dvg.Rows[_dvg.CurrentCell.RowIndex].Cells[_dvg.CurrentCell.ColumnIndex].Value.ToString();
        words = temp.Split('-');

        _dvg.Rows[_dvg.CurrentCell.RowIndex].Cells[_dvg.CurrentCell.ColumnIndex].Value = words[0];
    }
}
这将在单元格获得焦点时更改值(可以通过鼠标单击或箭头键)