Domanda

Ho bisogno di modificare a livello di confine delle singole cellule in una WinForms DataGridView. Durante la ricerca 'sulla rete, ho trovato questo link ( http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime ), che è la stessa cosa che sto cercando di fare; tuttavia, non v'è un esempio di codice là della soluzione, che è

"Così si può ereditare dal DataGridViewCell di classe e sovrascrive il metodo per ottenere un AdjustCellBorderStyle personalizzata versione di DataGridViewCell. Quindi è possibile utilizzare questo personalizzato DataGridViewCell nel vostro DataGridView. Nota: Nella tua DataGridViewCell personalizzata, si dovrebbe esporre un DataGridViewAdvancedBorderStyle membro pubblico in modo che il codice può DataGridView impostare questo stile di bordo informazioni membro alla cella. Poi nel AdjustCellBorderStyle implementazione, si dovrebbe controllare il presente DataGridViewAdvancedBorderStyle membro pubblico e ritorno corrispondenti DataGridViewAdvancedBorderStyle. Poi PaintCells DataGridView possono usarlo per dipingere il cellulare. ".

Sto avendo un momento difficile comprensione implementare questa soluzione. Qualcuno potrebbe tradurre il sopra in lavoro Codice VB.Net e fornire un esempio di chiamata per cambiare i confini di una singola cella?

È stato utile?

Soluzione

Ecco un esempio già pronto, che fa quello che avete bisogno, basta nascosto tra le funzionalità extra di impostare il colore di sfondo.

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

Cerca gli linee

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

Quella linea disegna un bordo cellule, in modo da modificare Modifica un individuo cellule confine args evento (classe CellBackColorEventArgs) per includere qualsiasi proprietà si vuole descrivere il confine. Poi nel metodo DrawCellBackColor disegnare il bordo sulla base di questi passati in proprietà (e qualsiasi altra cosa che si desidera richiamare nella cella)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top