Программно изменять границы отдельных ячеек в WinForms DataGridView

StackOverflow https://stackoverflow.com/questions/995327

Вопрос

Мне нужно программно изменить границы отдельных ячеек в WinForms DataGridView.При поиске в сети я нашел эту ссылку (http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime) это то же самое, что я пытаюсь сделать;однако там нет примера кода решения, которое является

"Таким образом, вы можете наследовать от класса DataGridViewCell и переопределяет метод AdjustCellBorderStyle, чтобы получить настроенную версию DataGridViewCell.Затем вы можете использовать эту настроенную ячейку DataGridViewCell в вашем DataGridView.Примечание:В вашей настроенной DataGridViewCell вам следует предоставить открытый элемент DataGridViewAdvancedBorderStyle, чтобы код DataGridView мог установить информацию о стиле границы этого элемента для ячейки.Затем в реализации AdjustCellBorderStyle вам следует проверить открытый элемент this DataGridViewAdvancedBorderStyle и вернуть соответствующий DataGridViewAdvancedBorderStyle.Затем DataGridView PaintCells может использовать его для рисования вашей ячейки.".

Мне трудно понять, как реализовать это решение.Не мог бы кто-нибудь, пожалуйста, перевести вышесказанное в рабочий код VB.Net и привести пример его вызова для изменения границ отдельной ячейки?

Это было полезно?

Решение

Вот готовый пример, который делает то, что вам нужно, просто скрытый среди дополнительных функций настройки цвета фона.

http://www.codeproject.com/KB/grid/hulihui_CustomDataGridVie.aspx

Посмотрите на линии

// must draw border for grid scrolling horizontally 
e.Graphics.DrawRectangle(gridPenColor, rect1);  

Эта линия рисует границу ячеек, поэтому, чтобы изменить границу отдельных ячеек, измените аргументы события (класс CellBackColorEventArgs), чтобы включить любые свойства, которые вы хотите описать границу.Затем в методе DrawCellBackColor нарисуйте границу на основе этих переданных в свойствах (и всего остального, что вы хотите нарисовать в ячейке)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top