如何获取所有颜色值?.NET颜色集合与ASP.NET示例代码实现

在 ASP.NET 中获取所有系统预定义的颜色值,可以通过遍历 KnownColor 枚举实现,以下是两种常用方法(Web Forms 和 MVC):

ASP.NET取得所有颜色值示例

方法 1:ASP.NET Web Forms 示例

// ColorsPage.aspx.cs
using System;
using System.Drawing;
using System.Web.UI.WebControls;
public partial class ColorsPage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // 获取所有非系统颜色(排除菜单高亮等动态颜色)
        foreach (KnownColor kc in Enum.GetValues(typeof(KnownColor)))
        {
            Color color = Color.FromKnownColor(kc);
            // 跳过系统颜色(如Control, Menu等)
            if (color.IsSystemColor) continue;
            // 创建带颜色块的Label
            Label lbl = new Label
            {
                Text = $"{color.Name} (#{color.R:X2}{color.G:X2}{color.B:X2})",
                BackColor = color,
                ForeColor = Color.Black, // 文字颜色
                BorderStyle = BorderStyle.Solid,
                BorderWidth = 1,
                Width = 200,
                Height = 30,
                Style = "margin:5px; padding:5px; display:inline-block;"
            };
            // 添加到页面容器
            container.Controls.Add(lbl);
        }
    }
}
<!-- ColorsPage.aspx -->
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ColorsPage.aspx.cs" Inherits="YourNamespace.ColorsPage" %>
<!DOCTYPE html>
<html>
<head>所有系统颜色</title>
</head>
<body>
    <form id="form1" runat="server">
        <div id="container" runat="server"></div>
    </form>
</body>
</html>

方法 2:ASP.NET MVC 示例

// ColorsController.cs
using System.Collections.Generic;
using System.Drawing;
using System.Web.Mvc;
public class ColorsController : Controller
{
    public ActionResult Index()
    {
        var colors = new List<ColorInfo>();
        foreach (KnownColor kc in Enum.GetValues(typeof(KnownColor)))
        {
            Color color = Color.FromKnownColor(kc);
            if (color.IsSystemColor) continue;
            colors.Add(new ColorInfo
            {
                Name = color.Name,
                HexCode = $"#{color.R:X2}{color.G:X2}{color.B:X2}",
                ColorObject = color
            });
        }
        return View(colors);
    }
}
public class ColorInfo
{
    public string Name { get; set; }
    public string HexCode { get; set; }
    public Color ColorObject { get; set; }
}
@* Views/Colors/Index.cshtml *@
@model List<ColorInfo>
<h2>系统预定义颜色</h2>
@foreach (var item in Model)
{
    <div style="background-color:@item.HexCode; 
                color:black; 
                border:1px solid #000; 
                width:200px; 
                height:30px; 
                margin:5px; 
                padding:5px; 
                display:inline-block;">
        @item.Name (@item.HexCode)
    </div>
}

关键说明:

  1. 颜色来源:使用 System.Drawing.KnownColor 枚举获取所有预定义颜色
  2. 过滤系统颜色:通过 color.IsSystemColor 排除动态系统颜色(如菜单高亮)
  3. 颜色格式:RGB 值转换为十六进制格式(如 #FF0000 代表红色)
  4. 显示效果:每个颜色块显示颜色名称和 HEX 值

输出效果示例:

如何获取所有颜色值?.NET颜色集合与ASP.NET示例代码实现

注意事项:

  1. 项目引用:需要添加 System.Drawing 程序集引用
  2. 安全性:ASP.NET Core 中建议使用 System.Drawing.Common NuGet 包
  3. 颜色数量:通常显示 140+ 种命名颜色(不包括系统动态颜色)
  4. 深色适配:示例中文字固定为黑色,实际应用可根据亮度调整文字颜色

通过以上方法,您可以在 ASP.NET 应用中完整展示所有系统预定义的颜色及其十六进制值。

ASP.NET取得所有颜色值示例

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/287179.html

(0)
上一篇 2026年2月8日 07:28
下一篇 2026年2月8日 07:33

相关推荐

  • 光纤分布式数据接口用来干嘛?FDDI网络用途是什么

    光纤分布式数据接口(FDDI)的核心用途是构建高带宽、高可靠性的城域或园区骨干网络,通过双环冗余拓扑在 100Mbps 速率下实现毫秒级故障自愈,专为 2026 年对网络稳定性要求极高的金融交易、工业控制及大型数据中心场景设计,在 2026 年的网络架构演进中,虽然千兆以太网和 10G/25G 光模块已全面普及……

    2026年5月4日
    01643
  • 在哪些网络环境下,高防CDN服务成为网站安全的必要选择?

    高防CDN服务在什么情况下适用:随着互联网的快速发展,网站和应用对网络性能的要求越来越高,高防CDN服务作为一种提升网站和应用性能的重要手段,在多种情况下都表现出其独特的优势,以下是一些高防CDN服务适用的具体场景:应对大流量访问大型活动或促销期间在大型活动或促销期间,网站和应用可能会面临海量的访问请求,高防C……

    2025年10月31日
    02430
  • 关于ASP.NET开发体会的常见问题与解决方案的疑问是什么?

    ASP.NET作为微软官方推出的企业级Web开发框架,自2002年推出以来,经历了从ASP到ASP.NET,再到ASP.NET Core的演进,已成为全球众多企业构建Web应用的首选技术栈,它不仅提供了完整的开发工具链,还融合了MVC、Web API、Entity Framework等多种成熟技术,支持从传统桌……

    2026年1月17日
    01920
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 光存储和云存储哪个好?数据备份选哪种更安全

    在 2026 年,对于冷数据归档场景,光存储凭借每 TB 低于 100 元的长期持有成本及 50 年+无源寿命,综合性价比已全面超越传统云存储,成为政企合规与超大规模数据中心的首选方案,随着人工智能生成内容(AIGC)爆发式增长,全球数据总量在 2026 年已突破 180ZB,80% 为长期不访问的“冷数据……

    2026年5月12日
    02143

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注