如何获取所有颜色值?.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

相关推荐

  • 公众号cert证书文件在哪里找?公众号cert证书文件下载位置

    cert证书文件是保障网站安全通信、验证服务器身份、实现HTTPS加密传输的核心数字凭证,其规范性、时效性与部署准确性直接决定业务系统的安全性与用户信任度,在当前网络攻击频发、数据泄露事件高发的背景下,一张有效、合规、配置得当的SSL/TLS证书文件,已成为企业数字化转型的“安全基座”,本文将从证书本质、常见类……

    2026年4月17日
    0762
  • 如何在非MVC架构的ASP.NET项目中有效运用Razor模板引擎?

    在ASP.NET中,Razor模板引擎通常与MVC(Model-View-Controller)模式结合使用,提供了一种快速且高效的方式来生成动态网页,即使在不使用MVC的情况下,Razor模板引擎也可以被单独使用,以下是如何在非MVC项目中实现Razor模板引擎的方法,安装Razor引擎确保你的项目中已经安装……

    2025年12月15日
    01570
  • ASP.NET中批量添加数据库的具体操作方法是什么?

    ASP.NET中批量添加数据库的方法详解在ASP.NET开发中,数据库初始化是关键环节,尤其是在需要批量添加大量数据时,选择高效、稳定的实现方式至关重要,本文将系统介绍ASP.NET中批量添加数据库的方法,涵盖技术选型、实现步骤及优化技巧,帮助开发者解决实际开发中的批量数据操作需求,前提与准备在进行批量添加数据……

    2025年12月30日
    01470
    • 服务器间歇性无响应是什么原因?如何排查解决?

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

      2026年1月10日
      020
  • 阿里云共享服务器CDN性能表现如何?性价比与稳定性能否满足企业需求?

    阿里云共享服务器CDN效果如何:随着互联网的快速发展,CDN(内容分发网络)已经成为提高网站访问速度、优化用户体验的重要手段,阿里云作为国内领先的云计算服务商,其提供的共享服务器CDN服务在业界享有盛誉,本文将从多个角度分析阿里云共享服务器CDN的效果,帮助读者全面了解其性能,速度与稳定性速度表现阿里云共享服务……

    2025年11月16日
    01350

发表回复

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