需要帮助的一个DataGridView编辑多个单元格
-
12-09-2019 - |
题
我想支持一个DataGridView编辑多个单元格。我很接近完成,因为它正确地复制内容,其他单元格时,编辑完成。我现在所工作的是捕获按下第一个键。
当我编辑只是一个细胞,使用EditOnKeystrokeOrF2工作正常。然而,当选择多个单元格,我捕捉keydown事件和手动调用BeginEdit。当我这样做,但是,按键不包括在编辑。
我怎样才能像第一次按下键到我的手机?
解决方案
我做了一些额外的实验和发现了一种方法来实现这一目标。这是一个有点草率,但它工作。
private int _keyValue;
private Boolean _checkKeyValue = false;
private void Grid1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
DataGridViewCell cell = Grid1.Rows[e.RowIndex].Cells[e.ColumnIndex];
if (_checkKeyValue)
{
_checkKeyValue = false;
if (value != -1)
{
cell.Value = _keyValue;
}
}
}
private void Grid1_KeyDown(object sender, KeyEventArgs e)
{
if (Grid1.SelectedCells.Count > 1)
{
_checkKeyValue = true;
_keyValue = (int)e.KeyValue;
Grid1.BeginEdit(false);
}
}
通过为CellBeginEdit事件注册,我可以在那里扑通的值。我做的_keyValue的一些其他处理,使之数字,但就是不相关的这一其余部分。
其他提示
可能是足够的标记密钥未被处理。
private void dataGridView_KeyDown(Object sender, KeyEventArgs keyEventArgs)
{
keyEventArgs.Handled = false;
}
不隶属于 StackOverflow