vb初心者。急いでます!
修論に取り組む院生です。
vb2010で簡単なソフトを作成中なのですが、以下のようなコードが何度も出てくるため、なんとか短くしたいんです。
型変換や色指定部分の工夫などが考えられると思うのですが、なかなか上手くいかず焦っています。
Dim a213,a214,c212,c213,c214 As Double
If a213 < 1 Then
ha13.BackColor = Color.FromArgb(160, 140, 255)
ElseIf a213 < 20 Then
ha13.BackColor = Color.FromArgb(120, 160, 255)
ElseIf a213 < 40 Then
ha13.BackColor = Color.FromArgb(100, 200, 150)
ElseIf a213 < 60 Then
ha13.BackColor = Color.FromArgb(255, 255, 70)
ElseIf a213 < 80 Then
ha13.BackColor = Color.FromArgb(255, 170, 0)
Else
ha13.BackColor = Color.FromArgb(255, 80, 100)
End If
If a214 < 1 Then
ha14.BackColor = Color.FromArgb(160, 140, 255)
ElseIf a214 < 20 Then
ha13.BackColor = Color.FromArgb(120, 160, 255)
ElseIf a214 < 40 Then
ha14.BackColor = Color.FromArgb(100, 200, 150)
ElseIf a214 < 60 Then
ha14.BackColor = Color.FromArgb(255, 255, 70)
ElseIf a214 < 80 Then
ha14.BackColor = Color.FromArgb(255, 170, 0)
Else
ha14.BackColor = Color.FromArgb(255, 80, 100)
End If
If c212 < 1 Then
hc12.BackColor = Color.FromArgb(160, 140, 255)
ElseIf c212 < 20 Then
hc12.BackColor = Color.FromArgb(120, 160, 255)
ElseIf c212 < 40 Then
hc12.BackColor = Color.FromArgb(100, 200, 150)
ElseIf c212 < 60 Then
hc12.BackColor = Color.FromArgb(255, 255, 70)
ElseIf c212 < 80 Then
hc12.BackColor = Color.FromArgb(255, 170, 0)
Else
hc12.BackColor = Color.FromArgb(255, 80, 100)
End If
If c213 < 1 Then
hc13.BackColor = Color.FromArgb(160, 140, 255)
ElseIf c213 < 20 Then
hc13.BackColor = Color.FromArgb(120, 160, 255)
ElseIf c213 < 40 Then
hc13.BackColor = Color.FromArgb(100, 200, 150)
ElseIf c213 < 60 Then
hc13.BackColor = Color.FromArgb(255, 255, 70)
ElseIf c213 < 80 Then
hc13.BackColor = Color.FromArgb(255, 170, 0)
Else
hc13.BackColor = Color.FromArgb(255, 80, 100)
End If
If c214 < 1 Then
hc14.BackColor = Color.FromArgb(160, 140, 255)
ElseIf c214 < 20 Then
hc14.BackColor = Color.FromArgb(120, 160, 255)
ElseIf c214 < 40 Then
hc14.BackColor = Color.FromArgb(100, 200, 150)
ElseIf c214 < 60 Then
hc14.BackColor = Color.FromArgb(255, 255, 70)
ElseIf c214 < 80 Then
hc14.BackColor = Color.FromArgb(255, 170, 0)
Else
hc14.BackColor = Color.FromArgb(255, 80, 100)
End If
初めにhが付くものはpicturebox名です。
条件に応じてpictureboxの色を変えるコードで、色は全部で6色で固定です。
このあたりももっと工夫できる気がしてはいるのですが・・・
時間がないので、とりあえずは期限までに面倒な手順でもソフトを完成させようと思っていますが、さすがに量が多いのでこちらも時間的に危ういです。。
いいアイディアをお持ちの方、よろしくお願いします!!!
お礼
そもそもの質問はC言語のマニュアルのIIF文の警告文が頭にあったから。 関数オーバーヘッドの回避に関する記述が頭の片隅に。 この傍証を得たくて質問した次第です。 納得です。