Это:
!(e.Control is TextBox))
никогда не будет истинным.
Вы можете попробовать это вместо этого:
if (MyGrid.CurrentCell.EditType != typeof(DataGridViewTextBoxEditingControl))
{
return;
}
Или это:
DataGridViewTextBoxEditingControl tb = e.Control as DataGridViewTextBoxEditingControl;
if (tb == null)
{
return;
}
Обратите внимание, что ScrollBars
будет отображаться только тогда, когда Cell
находится в режиме редактирования! 'Ячейки' из DateGridView
- это всего лишь виртуальные элементы управления или, другими словами, они просто пикселей , нарисованные на экране.У них нет модели событий и т. Д., Поэтому они не могут функционировать в интерактивном режиме.Только EditControl
, который накладывается, является фактическим контролем.