C# winForm ListBox 每行顯示不同顏色設置


使用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;
        }

 

 

 

 

 

 

隨着時光的流逝,或許所有存在的東西都會消失,若最初,我們是奔着一個方向而往,最終,卻很有可能會尋覓到了另外一種存在,也並非是忘記初心,而是時光早已賦予它不同的使命。

 

現實有多殘酷,我們就有多堅強。
別說生活欺騙了你世界的模樣,取決於你凝聚他的目光。
從怯懦到勇敢,是給自己最好的禮物。

 

所謂的成長,就是有一天我們可以把最重要的精力,放在最重要的人和最重要的事上。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM