|
▼taka さん:
>おはようございます。
>comboboxの値によって、下記のコードの様に指定したlabelのbackcolorを変更したいのですが、うまくいきません・・・・。
>例えば、7を選択し、label23.65の色は変わるのですが、次に10を選択すると、7で選択して変わったlabelの色はそのまま残り、10で選択したlabelの色がプラスされてしまいます。
>又、下記コードに無い値を選択した場合は、labelの色は変更させたくないのですが・・・。
>よろしくお願い致します。
>
>
>If ComboBox1 = 7 Then
> Label23.BackColor = &HC0C0FF
> Label65.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 9 Then
> Label23.BackColor = &HC0C0FF
> Label65.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 10 Then
> Label9.BackColor = &HC0C0FF
> Label51.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 11 Then
> Label6.BackColor = &HC0C0FF
> Label48.BackColor = &HC0C0FF
> Label26.BackColor = &HC0C0FF
> Label68.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 1 Then
> Label2.BackColor = &HC0C0FF
> Label44.BackColor = &HC0C0FF
> Label9.BackColor = &HC0C0FF
> Label51.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 2 Then
> Label16.BackColor = &HC0C0FF
> Label58.BackColor = &HC0C0FF
> ElseIf ComboBox1 = 3 Then
> Label24.BackColor = &HC0C0FF
> Label66.BackColor = &HC0C0FF
> End If
どのタイミングで、提示されたコードが動くのかは分かりませんが、
comboboxの値で各ラベルの背景色を変更しようとしてるんですよね。
combobox1の値が「7」だったら、label23とlabel65の背景色を変更してますよね。
ということは、combobox1が「7」以外であれば、label23とlabel65の背景色は変更しない。つまり、変更されていたら元の色に戻す。
という処理が必要になりますよね。
その処理が抜けているから、背景色が変更されたままになっているだけだと思います。
また、「comboboxの値」と自分で書かれているのですから、ComboBox1.Valueとちゃんと書いたほうが分かりやすいと思いませんか?
ComboBoxオブジェクトには複数のプロパティがあり、Valueプロパティもその一つです。
プロパティを省略した場合、Valueプロパティと自動的に判断してくれるみたいですから、問題なく動くのでしょうけど、他人に見せるときはできるだけ親切なコードのほうがいいですよね。
|
|