Introduction

The .NET Framework provides us with over 100 colours to use within the System.Drawing namespace. In order that we know exactly what all these colours look like here is a simple web based tool that uses Reflection to loop through all the colours with the System.Drawing.Color struct and print them to the page.

Code

<%@ Page Language="C#" %>

<%@ Import Namespace="System.Reflection" %>

<%@ Import Namespace="System.Drawing" %>

<%@ Import Namespace="System.Drawing.Imaging" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

Dim t As Type = GetType(System.Drawing.Color)

For Each fi As PropertyInfo In t.GetProperties()

If fi.PropertyType.ToString() = "System.Drawing.Color" Then

Dim colorName As String = fi.Name

Dim lbl As New Label()

Dim lit As New LiteralControl()

Dim c As Color = System.Drawing.Color.FromName(colorName)

lit.Text = "System.Drawing.Color." + colorName

lbl.BackColor = c

lbl.Width = Unit.Pixel(300)

lbl.Height = Unit.Pixel(20)

lbl.BorderWidth = Unit.Pixel(1)

phl.Controls.Add(lbl)

phl.Controls.Add(New LiteralControl(" "))

phl.Controls.Add(lit)

phl.Controls.Add(New LiteralControl("<br />"))

End If

Next

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="Head1" runat="server">

<title>System.Drawing.Color</title>

</head>

<body>

<form id="form1" runat="server">

<asp:PlaceHolder ID="phl" runat="server"></asp:PlaceHolder>

</form>

</body>

</html>