テキストボックスに、例えば「green」と入力してボタンをクリックしたら
ラベルの文字色を緑に変更したいのですがコードの記述がわかりません。
Label.ForeColor = TextBox.Text
はエラーになります。
使用ソフトはVB2008です。よろしくお願いします。
>エラーになります。
TextBox.Text の "green" というのは、ただの文字列で、色情報とは何の関係も無い
のですから当然ですね。
色情報は Color 構造体で指定します。
[Color メンバ]
http://msdn.microsoft.com/ja-jp/library/system.drawing.color_members.aspx
使えそうなメソッドが無いか調べてみては?
まずは、String を Color に変更する必要がありますね。それと、
Label.ForeColor → Lable1.ForeColor
TextBox.Text → TextBox1.Text
のように、実際のインスタンス名にする必要もあるかと。
Label1.ForeColor = New ColorConverter().ConvertFromString(TextBox1.Text)
特攻隊長まるるうさん、魔界の仮面弁士さん、コメントありがとうございました。
お二人のご意見を参考に調べた結果、
Label.ForeColor = Color.FromName(TextBox.Text)
という簡単な方法が見つかりました。
あ、もちろん実際のインスタンス名で作ってます。
ありがとうございました。
ちなみに、Color.FromName と ColorConverter の違いは、
"#AABBCC"
"170, 255, 255"
"128, 170, 255, 255"
"0x66CCFF22"
"2147483647"
のような「(A)RGB指定による指定を許すかどうか」と、
「サポートしない形式の文字列を指定した場合の動作」にあります。