グループに8つのチェックボックスがあり、基本的にbinairの10進値が必要な場合
チェックボックス1.checked = true チェックボックス2.checked = true
その場合、値は (2 ^ 0) + (2 ^ 1) = 3 でなければなりません (0 = チェックボックス 1 および 1 = チェックボックス 2 など)。
解決策は簡単かもしれませんが、今まではうまくいきませんでした。私が今持っているコードは次のとおりです。
Private Function AnyOptionsChecked() As Boolean
For Each chk As CheckBox In GroupBox1.Controls
t = t + 1
If chk.Checked = True Then
i = i + 2 ^ t
End If
Next
Return False
End Function
しかし、if/elseが機能し始める前に、tはすでに7になっているようです(チェックボックスが8つあるため)。
誰かがこの問題を解決する方法を知っていますか、それとも私を正しい方向に向けることができますか? ありがとう。