一、實現效果
①正常狀態
②警告狀態
③成功狀態
二、核心腳本
/***
* 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);