Mediante programación cambiar los bordes de celda individual en un DataGridView de formularios Windows Forms

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

Pregunta

Es necesario cambiar mediante programación la frontera de las células individuales en un WinForms DataGridView. Al buscar en la 'red, me encontré con este enlace ( http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime ) que es la misma cosa que yo estoy tratando de hacer; sin embargo, no es un ejemplo de código no de la solución, que es

"para que pueda heredar de la DataGridViewCell clase y anula método para obtener una AdjustCellBorderStyle versión personalizada de DataGridViewCell. A continuación, puede utilizar este personalizarse DataGridViewCell en su DataGridView. Nota: En su DataGridViewCell personalizado, debe exponer una DataGridViewAdvancedBorderStyle miembro público para que el código puede DataGridView establecer esta información estilo de borde miembro de la célula. Luego, en el AdjustCellBorderStyle aplicación, se debe comprobar el este miembro público DataGridViewAdvancedBorderStyle y volver correspondientes DataGridViewAdvancedBorderStyle. Entonces PaintCells DataGridView pueden utilizarlo para pintar su celda "..

Estoy teniendo dificultades para comprender la implementación de esta solución. Podría alguien por favor traduce lo anterior en trabajo código VB.Net y proporcionar un ejemplo de llamada a cambiar los bordes de una celda individual?

¿Fue útil?

Solución

A continuación se muestra un ejemplo ya hecha, que hace lo que usted necesita, simplemente escondido entre la funcionalidad adicional de definir el color de fondo.

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

Busque las líneas

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

Esa línea dibuja un borde células, por lo que para cambiar una frontera células individuales cambiar los argumentos de eventos (clase CellBackColorEventArgs) para incluir las propiedades que se quiere describir la frontera. Luego, en el método DrawCellBackColor dibujar el borde sobre la base de estos aprobada en propiedades (y cualquier otra cosa que desea dibujar en la célula)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top