Пользовательский DataGridViewCell, второй щелчок для редактирования

Я реализовал свой собственный DataGridViewCell с ячейкой выбора цвета/непрозрачности.

Я хочу, чтобы ячейка вела себя в соответствии со стандартными элементами управления, такими как DataGridViewTextCell, которые вы сначала щелкаете, чтобы выбрать, а затем снова щелкаете, чтобы редактировать.

Очевидной вещью было вызвать BeginEdit из with в обработчике кликов, если Selected имеет значение true, но мое состояние ячейки всегда выбрано к моменту вызова обработчика кликов. Я не вижу, как различать состояние элемента управления между первым и вторым щелчками.

Любая помощь очень ценится.

Спасибо, Энди.


person Andy Baker    schedule 09.03.2011    source источник


Ответы (1)


Я сделал это, обработав MouseDown

protected override void OnMouseDown(DataGridViewCellMouseEventArgs e)
{
    _nextClickBeginEdit = Selected;
    base.OnMouseDown(e);
}

protected override void OnClick(DataGridViewCellEventArgs e)
{
    base.OnClick(e);
    if (_nextClickBeginEdit)
    {
        DataGridView.BeginEdit(false);
    }
}
person Andy Baker    schedule 09.03.2011