C# 반사 적용 인스턴스 - 현재 Color 클래스의 모든 색상 가져오기

오늘 색상 선택의 난제에 부딪혔는데 C#의 색상이 맞는지 몇 개 시도해 보았지만 안 맞는다. 그래서 갑자기 반사를 생각해서 웹에서 Color 아래의 색깔을 모두 열거했다. 코드는 다음과 같다.

  
  
  
  
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml"> 
  6. <head runat="server"> 
  7.     <title></title> 
  8. </head> 
  9. <body> 
  10.     <form id="form1" runat="server"> 
  11.     <div> 
  12.         <asp:Panel ID="Panel1" runat="server"> 
  13.         </asp:Panel>  
  14.     </div> 
  15.     </form> 
  16. </body> 
  17. </html> 

 

  
  
  
  
  1. using System; 
  2. using System.Drawing; 
  3. using System.Reflection; 
  4. using System.Web.UI.WebControls; 
  5.  
  6. public partial class _Default : System.Web.UI.Page 
  7.     protected void Page_Load(object sender, EventArgs e) 
  8.     { 
  9.         Type t = Color.Aqua.GetType(); 
  10.  
  11.         PropertyInfo[] minfos = t.GetProperties(); 
  12.         foreach ( var m in minfos) 
  13.         { 
  14.             Label l = new Label(); 
  15.             l.Text = m.Name + "<br/>"
  16.             if (Color.FromName(m.Name).IsKnownColor) 
  17.             { 
  18.                 l.ForeColor = Color.FromName(m.Name); 
  19.                 Panel1.Controls.Add(l); 
  20.             } 
  21.         } 
  22.          
  23.     } 

그리고 여러분이 원하는 색깔을 선택하실 수 있을 것 같아요.

좋은 웹페이지 즐겨찾기