Я создаю DataGridView, который отображает столбец значений bool. Я использую визуальный конструктор в Visual Studio для создания winforms и добавил столбец, у которого его «ColumnType» установлен в «DataGridViewCheckBoxColumn», чтобы вместо текстовых полей появлялись флажки.
Я также делаю следующее:
ElementDataGrid.CellEndEdit += new DataGridViewCellEventHandler(OnCellValueChanged);
Проблема, с которой я сталкиваюсь, заключается в том, что, если я установлю флажок во время выполнения, щелкнув по нему, OnCellValueChanged не поднимется (проверяется как моей программой, которая не отвечает, так и точками останова, которые не были достигнуты). Затем, как только я выбираю другую ячейку с помощью мыши, событие вызывается. Это как если бы CellEndEdit не поднимался до тех пор, пока ячейка не будет отменена.
Я бы хотел, чтобы остальная часть моего приложения немедленно ответила, как только пользователь установит флажок, и ему не нужно ждать, пока пользователь отменит его. Могу ли я использовать другое событие? Я также попробовал:
* CellValidating
* CellValidated
* CellValueChanged
Но все, кажется, работают одинаково - они требуют, чтобы пользователь выбрал другую ячейку.