概要
#RRGGBB形式(HTMLカラー形式)から、Colorに変換するにはColorTranslator.FromHtml()メソッドを使用します。
書式
Color MainFrameColor = ColorTranslator.FromHtml("#E9D73C");
プログラム例
UI
下図のUIを作成します。TextBox,Button,Label,Panelを配置します。
コード
下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HtmlColorToColor
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Color ccolor = ColorTranslator.FromHtml(textBox1.Text);
panel1.BackColor = ccolor;
label1.Text = string.Format("R:{0:d} G:{1:d} B:{2:d}", ccolor.R, ccolor.G, ccolor.B);
}
}
}
解説
ColorTranslator.FromHtml()メソッドを呼び出して、TextBoxに入力されたHTMLカラーコードの文字列をColorに変換します。変換したColorクラスの値を用いてパネルの背景色を設定します。また、ラベルにR,G,B成分の値を10進数で表示します。
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。
テキストボックスにHTMLカラーのカラーコードを入力します。
[button1]をクリックします。パネルの背景色が入力したHTMLカラーコードのカラーに変化します。また、R,G,B成分の値がラベルに表示されます。
テキストボックスのカラーコードを変えて[button1]をクリックするとPanelの背景色とラベルの値も変わります。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2021-01-24
作成日: 2009-07-18