Web based colour tool in VB .NET

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 ObjectByVal 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("&nbsp;"))

            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>