У меня такая ситуация с DataGridView в Winforms. я хочу для того чтобы достигнуть что-то вроде этого, с некоторым расстоянием между рядамиЯчейка для сотовой связи или краска часть ячейки
Изображение и решения N39 фактически на 2 колонки, без горизонтального края и без столбца линии сетки, чтобы они выглядели, как они принадлежат в целом. Чтобы добиться разделения между строками, я переопределяю CellPainting и перерисовываю всю сетку, используя Graphics.FillRectangle (с высотой меньше высоты ячейки), Graphics.DrawLine - Graphics.DrawString и Graphics.DrawText для рисования содержимого ячейки.
Во втором случае у меня есть флажок в качестве одного из столбцов.
Если я не перекрашивать, клетка будет касаться белых линий сетки и не оставляет никакого разделения между рядами.
Однако, если я хочу переопределить CellPainting, чтобы создать такое разделение, как описано выше, мне может понадобиться перекрасить весь контент, но я не знаю о методе рисования и обработки флажка. Итак, я подумал, если возможно, я просто нарисую прямоугольник с цветом фона (светло-серый) на ячейки и оставьте содержимое для Winform для обработки.
Мои вопросы:
Как я могу перекрасить только часть клетки, например, нарисовать замкнутый прямоугольник и оставить содержимое оставшейся ячейки для Winforms?
Если у нас нет выбора, кроме как перерисовать всю ячейку, как вы перекрашиваете и обрабатываете столбцы флажка?
Любое другое предложение приветствуется.
Большое спасибо.
Лучший.
Работает как очарование. Также поняли, что я не могу использовать общую проверку e.Value! = Null для столбца флажка, иначе флажок не появится. Спасибо, TaW! – Kenny