使用ListBox時,每行顯示不同的顏色
1、把AllowHtmlDraw屬性設置為True
2、直接在Add或者AddRange里寫標簽
代碼里用的是DEV插件里的ListBox,使用原生的也是一樣的寫法
使用AddRange寫法:
1 listBoxControl2.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True; 2 3 listBoxControl2.Items.AddRange(new object[] { 4 "我是紅色的 <color=Red>Red</color>", 5 "<color=Green>我是綠色的</color>", 6 "<color=Blue>Blue</color> 我是藍色的" 7 });
使用Add寫法:
listBoxControl.Items.Add("<color=Red>我是紅色的</color>");
可以封裝一下:
private void ListMsg(string msg, MsgLevel msgLevel) { listBoxControl.BeginInvoke(new Action(() => { listBoxControl.Items.Add("<color=" + GetColor(msgLevel) + ">" + DateTime.Now.ToString("HH:mm") + " " + msg + "</color>"); //滾動到最后一行 if (this.listBoxControl.Items.Count > 0) { this.listBoxControl.SelectedIndex = listBoxControl.Items.Count - 1; } })); }
枚舉:
private enum MsgLevel { /// <summary> /// 0.調試信息輸出 /// </summary> Debug = 0, /// <summary> /// 1.業務信息記錄 /// </summary> Info = 1, /// <summary> /// 2.警告提醒(捕獲的業務異常) /// </summary> Warn = 2, /// <summary> /// 3.發生了異常(捕獲的系統異常) /// </summary> Exception = 3, /// <summary> /// 4.發生致命異常(未被捕獲的異常|捕獲的業務邏輯異常) /// </summary> Fatal = 4 } private string GetColor(MsgLevel msgLevel) { string strColor = "Black"; switch (msgLevel) { case MsgLevel.Debug: strColor = "Black"; break; case MsgLevel.Info: strColor = "Black"; break; case MsgLevel.Warn: strColor = "Yellow"; break; case MsgLevel.Exception: strColor = "Purple"; break; case MsgLevel.Fatal: strColor = "Red"; break; default: strColor = "Black"; break; } return strColor; }
隨着時光的流逝,或許所有存在的東西都會消失,若最初,我們是奔着一個方向而往,最終,卻很有可能會尋覓到了另外一種存在,也並非是忘記初心,而是時光早已賦予它不同的使命。
現實有多殘酷,我們就有多堅強。
別說生活欺騙了你世界的模樣,取決於你凝聚他的目光。
從怯懦到勇敢,是給自己最好的禮物。
所謂的成長,就是有一天我們可以把最重要的精力,放在最重要的人和最重要的事上。