Colore una sola cella della listview

mercoledì 14 maggio 2008 - 17.08

trinity Profilo | Guru

é possibile colorare di un altro colore una sola singola cella di una determinata riga e colonna della listview?

se si come?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

aiedail92 Profilo | Expert

Ciao

Potresti, dopo aver impostato OwnerDraw su true, intercettare l'evento DrawSubItem, e se la colonna e la riga dell'elemento da disegnare corrispondo ai tuoi indici, fare il disegno personalizzato, altrimenti lasciare che se ne occupi il sistema:

private void tuaListView_DrawSubItem(object sender, DrawListViewSubItemEventArgs e) { //Se lindice di riga e di colonna corrispondono a quelli desiderati if (e.ItemIndex == tuoIndiceRiga && e.ColumnIndex == tuoIndiceColonna) { //Disegno lo sfondo e.Graphics.FillRectangle(Brushes.Orchid, e.Bounds); //e il testo del controllo e.Graphics.DrawString(e.SubItem.Text, e.SubItem.Font, Brushes.Lime, e.Bounds); //Usando i colori che desideri } else { //altrimenti lasci disegnare normalmente e.DrawDefault = true; } }

Devi anche gestire gli eventi DrawColumnHeader e DrawItem per imporre il disegno automatico, altrimenti non vengono disegnati:

private void tuaListView_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e) { e.DrawDefault = true; } private void tuaListView_DrawItem(object sender, DrawListViewItemEventArgs e) { e.DrawDefault = true; }

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5