Когда называется Datagridview Paint and Cellpainting?

У меня есть датагридвью dgvскажем, с 3 из столбцов, которые я хочу повлиять вручную:

col1 : DataGridviewTextboxColumn, for displaying a number

col2 : DataGridviewTextboxColumn, used as a color indicator, without text. BackColor will will be changed later.

col3 : DataGridviewImageColumn

Другие столбцы связаны с их соответствующими DataPropertyName базового Datasource, 3 столбца выше не привязаны ни к одному DataPropertyName и повлиять вручную, например, когда я хочу изменить изображение или цветовой индикатор.

Каждый раз, когда я влияю на DataSource, Я делаю перепривязку источника данных и dgv.Invalidate() обновить графику сетки.

  1. Когда и как я могу спросить dgv учитывать ручные значения в 3 редактируемых столбцах? Ранее я вручную влиял на 3 выше столбца внутри dgv_CellPainting, Это будет работать, но CellPainting занимает много времени, и мы решили удалить его. Я пытался положить их внутрь dgv_Paint (который я использовал для слияния заголовков), но он не принимает цвет и изображение.

С помощью CellPainting: прямоугольники для пробелов между строками, заливка фона, разделитель между строками, поля для изображения и цвета и т. Д. 3 столбца, к которым я обращаюсь, это первый столбец (индекс), столбцы цвета и изображения (в полях). Другое изображение постоянно.

Без CellPainting: Нет разделения строк и столбцов. Я создал псевдорядное разделение, установив горизонтальную границу ячейки сетки.

  1. Когда CellPainting а также Paint называется? Каков порядок исполнения и чем они отличаются? Мое грубое понимание состоит в том, что они называются, когда ячейка / сетка "должны быть перекрашены". Но я замечаю, что они вызываются несколько раз, а не только когда я звоню Invalidate() но даже когда я наводю указатель мыши на область сетки.

Спасибо всем.

0 ответов

Другие вопросы по тегам