Поскольку для свойства DataGridView
EditMode
уже установлено значение «EditOnEnter», вы можете просто переопределить его метод OnEditingControlShowing
, чтобы убедиться, что раскрывающийся список отображается, как только поле со списком получает фокус:
public class myDataGridView : DataGridView
{
protected override void OnEditingControlShowing(DataGridViewEditingControlShowingEventArgs e)
{
base.OnEditingControlShowing(e);
if (e.Control is ComboBox) {
SendKeys.Send("{F4}");
}
}
}
Всякий раз, когда элемент управления редактирования в вашем элементе управления DataGridView
получает фокус ввода, приведенный выше код проверяет, является ли это поле со списком. Если это так, то фактически "нажимает" клавишу F4, что вызывает раскрытие раскрывающейся части (попробуйте, когда любой комбинированный блок имеет фокус!). Это немного взломать, но это работает как шарм.