チェックボックスの使い方をご教授下さい


チェックス  2004-12-10 07:10:20  No: 118149  IP: [192.*.*.*]

チェックボックスを使ってチェックを入れると背景の色が変わり、ラベル1に入力している文字(AがBのように)変わるのを作っているのですが、
背景を変えるのとAをBにするところまではできたのですが、次にチェックをはずすと初めから入力してあるAに戻る方法が分かりません。
If文を使って地道に作っていたのですが、あまりも莫大な量になってしまうので、何か良い方法があればご教授下さい。
Private Sub Check10_Click()
If Check10.Value = vbChecked Then
Frame10.BackColor = &HFFC0C0
Check10.BackColor = &HFFC0C0
Label70.ForeColor = &HFF0000
If List2.ListIndex = 0 Then
        Label70.Caption = "0"
End If
If List2.ListIndex = 1 Then
        Label70.Caption = "1"
End If
If List2.ListIndex = 2 Then
        Label70.Caption = "2"
End If
If List2.ListIndex = 3 Then
        Label70.Caption = "3"
End If
こんな感じでずっーと続く…
Else
Frame10.BackColor = &H8080FF
Check10.BackColor = &H8080FF
Label70.ForeColor = &HFF
If List1.ListIndex = 0 Then
        Label70.Caption = "0"
End If
If List1.ListIndex = 1 Then
        Label70.Caption = "A"
End If
If List1.ListIndex = 2 Then
        Label70.Caption = "B"
End If
If List1.ListIndex = 3 Then
        Label70.Caption = "C"
こんな感じでずっーと続く…
End If
End If
End Sub

編集 削除
ガッ  2004-12-10 07:51:50  No: 118150  IP: [192.*.*.*]

これはチェックボックスの使い方じゃなくて、コーディング上の質問だよな?
で、こういう名前や条件式の中で、数値が出てきていてなおかつそれらが数列を成す場合には、
配列やCollectionを使ったアクセス(または条件分散)が使えると考えられる。

ためしに、
dim v as variant
dim i as integer
v=split("0 1 2 3 4 5 6 7 8 9 A B C D E F"," ")
for i=0 to &hf
  debug.? v(lbound(v)+i)
next
とか言うのを動かしてみるといいかもしらんヒント。

※さて今日も誤爆すr(ry

編集 削除
お試し  2004-12-10 09:33:37  No: 118151  IP: [192.*.*.*]

vb6
チェックボックスとラベルをコントロール配列にして3つForm上に作る。
そして下のロジックを実行。

Option Explicit

Private Sub Check1_Click(Index As Integer)

  If Check1(Index).Value = False Then
    Form1.BackColor = &H8000000F
    Label1(Index).Caption = ""
    Exit Sub
  End If
  
  Label1(Index).Caption = "Label" & CStr(Index)
  
  Select Case Index
    Case 1
      Form1.BackColor = vbRed
    Case 2
      Form1.BackColor = vbBlue
    Case 3
      Form1.BackColor = vbYellow
    Case Else
      Form1.BackColor = vbGreen
  End Select
    
End Sub
こんな感じかな(^^;)

編集 削除