gpt4 book ai didi

c# - datagridview beginedit 自动在新行上

转载 作者:行者123 更新时间:2023-11-30 22:23:55 32 4
gpt4 key购买 nike

我正在尝试将单元格设置为编辑模式。该单元格位于新行 (NewRowIndex) 中。在其他任何地方它都运行良好,但如果我尝试在 NewRowIndex 中设置编辑模式,它不会按预期进入编辑模式。我只是希望如果用户输入一个新行 (NewRowIndex),第一个单元格进入编辑模式。我试过(在 RowEnter 上):


dgvList.CurrentCell = dgvList["myColName", dgvList.NewRowIndex]; dgvList.BeginEdit(真);

谢谢!

最佳答案

我认为您真的不需要使用 NewRowIndex 属性。只需通过设置当前单元格开始编辑:

private void dgvList_CellEnter(object sender, DataGridViewCellEventArgs e)
{
dgvList.CurrentCell = dgvList[e.ColumnIndex, e.RowIndex];
dgvList.BeginEdit(true);
}

如果您希望单元格只对新行进入编辑模式,那么:

private void dgvList_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != dgvList.NewRowIndex)
return;

dgvList.CurrentCell = dgvList[e.ColumnIndex, e.RowIndex];
dgvList.BeginEdit(true);
}

编辑:如果您希望新行在按下按键时开始处于编辑模式,那么该功能已可用于数据 GridView 。您可以像这样手动设置它:

dgvList.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
//or
dgvList.EditMode = DataGridViewEditMode.EditOnKeystroke;

如果您希望单元格仅在按下新行时处于编辑模式,那么您将不得不通过 Hook KeyDown 事件来覆盖默认行为,我认为这是一个不好的方法做图形用户界面。可能是这样的:

初始化:dgvList.EditMode = DataGridViewEditMode.EditOnF2;//或者任何你喜欢的

在击键时覆盖默认的 excel 样式编辑。然后

private void dgvList_KeyDown(object sender, KeyEventArgs e)
{
if (dgvList.CurrentCell.RowIndex != dgvList.NewRowIndex)
return;

dgvList.BeginEdit(true);
}

关于c# - datagridview beginedit 自动在新行上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13098968/

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