WinForm實現通用的給顯示組件顯示不同狀態下顯示不同的文字顏色

一、實現效果

①正常狀態

②警告狀態

③成功狀態

二、核心腳本

/***
*	Title:"三維可視化" 項目
*		主題:【UI層】基礎組件設置
*	Description:
*		功能:
*		    1、實現Lable組件不同狀態顯示不同文字顏色
*		    2、實現TextBox組件不同狀態顯示不同文字顏色
*	Date:2020
*	Version:1.0版本
*	Author:Coffee
*	Modify Recoder:
*/


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace View
{
    class BaseComponetSettings
    {

        #region   基礎組件設置

        /// <summary>
        /// 設置Lable組件文字顯示顏色
        /// </summary>
        /// <param name="label">需要改變顏色的Lable控件</param>
        /// <param name="infoState">信息狀態</param>
        public static void SetLableTextColor(Label label,InfoState infoState)
        {
            switch (infoState)
            {
                case InfoState.Normal:
                    label.ForeColor = Color.Black;
                    break;
                case InfoState.Success:
                    label.ForeColor = Color.DeepSkyBlue;
                    break;
                case InfoState.Fail:
                    label.ForeColor = Color.LightCoral;
                    break;
                case InfoState.Warning:
                    label.ForeColor = Color.DarkOrange;
                    break;
                default:
                    break;
            }
        }

        /// <summary>
        /// 設置textBox組件文字顯示顏色與背景
        /// </summary>
        /// <param name="textBox">需要改變顏色的textBox控件</param>
        /// <param name="infoState">信息狀態</param>
        public static void SetLableTextColor(TextBox textBox, InfoState infoState)
        {
           
            switch (infoState)
            {
                case InfoState.Normal:
                    textBox.BackColor = SystemColors.Control;
                    textBox.ForeColor = Color.Black;
                    break;
                case InfoState.Success:
                    textBox.BackColor = SystemColors.ControlLight;
                    textBox.ForeColor = Color.LightSeaGreen;
                    break;
                case InfoState.Fail:
                    textBox.BackColor = SystemColors.ButtonFace;
                    textBox.ForeColor = Color.Crimson;
                    break;
                case InfoState.Warning:
                    textBox.BackColor = SystemColors.Info;
                    textBox.ForeColor = Color.DarkOrange;
                    break;
                default:
                    break;
            }
        }

        #endregion



    }//Class_end

    public enum InfoState
    {
        Normal,//正常
        Success,//成功
        Fail,//失敗
        Warning,//警告

    }

}

三、使用方法

①使用命名空間:

using View;

②使用示例

 BaseComponetSettings.SetLableTextColor(Lable控件的名稱,信息的狀態);
//比如我這裏給名爲:Lable_InfoTips控件添加成功狀態的顯示效果如下:
 BaseComponetSettings.SetLableTextColor(Lable_InfoTips,InfoState.Success);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章