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

相关推荐

  • 京瓷p8060cdn能否安装复印模块?安装过程与注意事项有哪些?

    京瓷P8060cdn复印模块安装指南京瓷P8060cdn是一款性能卓越的多功能打印机,具备高速打印、扫描和复印等功能,为了满足用户多样化的需求,我们为您提供安装复印模块的详细指南,以下是安装复印模块的步骤和注意事项,安装复印模块的准备工作确认复印模块与打印机型号相匹配,准备必要的工具,如螺丝刀、扳手等,断开打印……

    2025年12月11日
    0620
  • ASP.NET与JS结合时,如何实现最佳性能与兼容性优化?

    在当今的互联网时代,随着Web技术的不断发展,ASP.NET和JavaScript(JS)成为了构建动态网站和丰富用户体验的重要工具,本文将探讨ASP.NET和JavaScript的结合,分析它们在Web开发中的应用,并介绍一些实用的开发技巧,ASP.NET简介ASP.NET是由微软开发的一种用于构建动态网站……

    2025年12月22日
    0550
  • 电信CDN按流量计费具体是多少费用?不同流量段价格有何差异?

    电信CDN按流量计费多少钱?随着互联网的普及,越来越多的企业和个人开始使用CDN(内容分发网络)服务来提高网站或应用的访问速度和稳定性,电信CDN作为一种常见的CDN服务,其计费方式多样,其中按流量计费是用户较为关注的一种,本文将详细介绍电信CDN按流量计费的具体情况,电信CDN按流量计费标准电信CDN按流量计……

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

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

      2026年1月10日
      020
  • 百度云CDN网站频繁弹出验证码,是否影响用户体验及安全?

    随着互联网技术的飞速发展,百度云CDN(内容分发网络)已经成为许多网站和应用程序提高访问速度、优化用户体验的重要工具,在使用百度云CDN服务时,用户可能会遇到网站弹出验证码的问题,本文将详细介绍百度云CDN网站弹出验证码的原因、解决方法以及相关注意事项,百度云CDN网站弹出验证码的原因安全防护防止恶意用户利用C……

    2025年11月27日
    0690

发表回复

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