[英]VB.net Decimal value of Binair checkbox
我在一個組中有8個復選框,並且基本上,如果要設置binair的十進制值,
checkbox1.checked = true checkbox2.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個復選框)。
有人知道如何解決這個問題,或者能夠指出正確的方向嗎? 謝謝。
您的函數返回一個布爾值(真/假),但是如果您想知道已檢查了哪些選項,則實際上您想返回一個數字。 這個怎么樣:
Private Function OptionsChecked() As Integer
Dim t As Integer = 0
Dim result As Integer = 0
For Each chk As CheckBox In GroupBox1.Controls
If chk.Checked = True Then
result = result + 2 ^ t
End If
t = t + 1
Next
Return result
End Function
因此,當未檢查任何選項時,我的函數將返回零。 否則,它返回一個整數,指示已檢查的選項(1 =第一個選項,2 =第二個選項,3 =第一個和第二個選項,依此類推)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.