上圖是想實(shí)現(xiàn)的效果, 注意不是所有行一個(gè)顏色
首先把 listbox 的 DrawMode 屬性 改為 OwnerDrawFixed
然后 override listbox 的 函數(shù) DrawItem 系統(tǒng)重命名為 listBox1_DrawItem
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground(); //先調(diào)用基類實(shí)現(xiàn)
if (e.Index < 0) //form load 的時(shí)候return
return;
//因?yàn)榇撕瘮?shù)每一個(gè) listItem drawing 都要調(diào)用, 所以不能簡(jiǎn)單的只寫e.Graphics.DrawString(listBox1.Items[e.Index].ToString(),e.Font, Brushes.Red, e.Bounds);
//那樣會(huì)造成所有item一個(gè)顏色
//這里是用item字符串是否包含某些詞決定的 , 不好
if (listBox1.Items[e.Index].ToString().Contains("error"))
{
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(),
e.Font, Brushes.Red, e.Bounds);
}
else if (listBox1.Items[e.Index].ToString().Contains("warn"))
{
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(),
e.Font, Brushes.Red, e.Bounds);
}
else
{
e.Graphics.DrawString(((ListBox)sender).Items[e.Index].ToString(),
e.Font, Brushes.Black, e.Bounds);
}
}
當(dāng)前文章:c#實(shí)現(xiàn)ListBox每一列可以有各自的顏色-創(chuàng)新互聯(lián)
文章分享:http://aaarwkj.com/article16/ccdhdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、小程序開(kāi)發(fā)、網(wǎng)站改版、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容