我試圖支持編輯datagridview上的多個單元格。我差不多完成了,因爲它在編輯完成後正確地將內容複製到其他單元格。我現在正在處理的是捕獲按下的第一個鍵。需要幫助編輯datagridview中的多個單元格
當我編輯只有一個單元格時,使用EditOnKeystrokeOrF2工作正常。但是,選擇多個單元格時,我正在捕獲Keydown事件並手動調用BeginEdit。但是,當我這樣做時,按下的鍵不包含在編輯中。
我怎樣才能讓第一個按鍵進入我的手機?
我試圖支持編輯datagridview上的多個單元格。我差不多完成了,因爲它在編輯完成後正確地將內容複製到其他單元格。我現在正在處理的是捕獲按下的第一個鍵。需要幫助編輯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;
}
哦,以爲這看起來很有前途。但是,當我嘗試它時,它沒有幫助,而且看起來像「處理」屬性已經是錯誤的。 – 2009-04-20 17:13:58