色の指定を行う 【注意書き】●VB.NET を使っているものとします。●動作環境は、Windows XX を使用しているとします。.NET でも、背景色や文字色の色指定を行うことが可能です。この機能を使えば、簡単に、ある程度の色をプログラム内で設定することができます。色の指定では、通常 Color構造体を用いますが、あらかじめ用意されているQBColor をこのサンプルでは使っています。フォームに次の様なコードを記述します-----------VB.NETコーディングここから-------------------1.フォームに、 ラベルコントロール、 コンボボックスコントロール を配置します。 下記は、デフォルトのオブジェクトの名前と配置を示しています。 ┏━━━━━━━━━┓┏━━━━━━━━━━━━┓ ┃Label1 ┃┃Combobox1 ▼┃ ┗━━━━━━━━━┛┗━━━━━━━━━━━━┛ ┏━━━━━━━━━┓┏━━━━━━━━━━━━┓ ┃Label2 ┃┃Combobox2 ▼┃ ┗━━━━━━━━━┛┗━━━━━━━━━━━━┛2.ラベルコントロールの Label1 text プロパティに「背景色」と記述します。 Label2 text プロパティに「文字色」と記述します。 ※説明用のためです。必須ではありません。 ┏━━━━━━━━━┓┏━━━━━━━━━━━━┓ ┃背景色 ┃┃Combobox1 ▼┃ ┗━━━━━━━━━┛┗━━━━━━━━━━━━┛ ┏━━━━━━━━━┓┏━━━━━━━━━━━━┓ ┃文字色 ┃┃Combobox2 ▼┃ ┗━━━━━━━━━┛┗━━━━━━━━━━━━┛3.フォームをダブルクリックして、 フォームロードイベントのコード編集を開始して、 次のコードを記述します。 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load With ComboBox1 .Items.Add("00 黒") .Items.Add("01 青") .Items.Add("02 緑") .Items.Add("03 シアン") .Items.Add("04 赤") .Items.Add("05 マゼンタ") .Items.Add("06 黄") .Items.Add("07 白") .Items.Add("08 灰色") .Items.Add("09 明るい青") .Items.Add("10 明るい緑") .Items.Add("11 明るいシアン") .Items.Add("12 明るい赤") .Items.Add("13 明るいマゼンタ") .Items.Add("14 明るい黄") .Items.Add("15 明るい白") End With With ComboBox2 .Items.Add("00 黒") .Items.Add("01 青") .Items.Add("02 緑") .Items.Add("03 シアン") .Items.Add("04 赤") .Items.Add("05 マゼンタ") .Items.Add("06 黄") .Items.Add("07 白") .Items.Add("08 灰色") .Items.Add("09 明るい青") .Items.Add("10 明るい緑") .Items.Add("11 明るいシアン") .Items.Add("12 明るい赤") .Items.Add("13 明るいマゼンタ") .Items.Add("14 明るい黄") .Items.Add("15 明るい白") End With End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal _ sender As System.Object, ByVal e As System.EventArgs) _ Handles ComboBox1.SelectedIndexChanged Try Me.BackColor = _ System.Drawing.ColorTranslator.FromOle( _ QBColor(Microsoft.VisualBasic.Left( _ ComboBox1.Text, 2))) Label1.BackColor = _ System.Drawing.ColorTranslator.FromOle( _ QBColor(Microsoft.VisualBasic.Left( _ ComboBox1.Text, 2))) Label2.BackColor = _ System.Drawing.ColorTranslator.FromOle( _ QBColor(Microsoft.VisualBasic.Left( _ ComboBox1.Text, 2))) Catch ex As Exception End Try End Sub Private Sub ComboBox2_SelectedIndexChanged(ByVal _ sender As System.Object, ByVal e As System.EventArgs) _ Handles ComboBox2.SelectedIndexChanged Try Label1.ForeColor = _ System.Drawing.ColorTranslator.FromOle( _ QBColor(Microsoft.VisualBasic.Left( _ ComboBox2.Text, 2))) Label2.ForeColor = _ System.Drawing.ColorTranslator.FromOle( _ QBColor(Microsoft.VisualBasic.Left( _ ComboBox2.Text, 2))) Catch ex As Exception End Try End Sub4.ビルドして実行します。5.フォームに表示された背景色のラベル右側にあるコンボボックスを マウスでクリックしてリストを表示し、「00 黒」を選択します6.背景色が黒色になる事を確認できます。7.フォームに表示された文字色のラベル右側にあるコンボボックスを マウスでクリックしてリストを表示し、「15 明るい白」を選択します8.文字色が明るい白色になる事を確認できます。-----------VB.NETコーディングここまで-------------------本サンプルでは、QBColor を使用して、16色のカラーを表示するようにしています。文字色との比較を行えるように、背景色と、文字色の2種類を指定可能にしています。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。