[英]How to set items check in checklistbox?
我使用SetItemChecked方法自動檢查復選框,但是它不起作用。 有人看過我的代碼,請提供解決方案?
Private Sub Check(value As Double)
If 0 <= value < 20 Then
Me.CheckedListBox1.SetItemChecked(0, True)
ElseIf 20 <= value < 40 Then
Me.CheckedListBox1.SetItemChecked(1, True)
ElseIf 40 <= value < 60 Then
Me.CheckedListBox1.SetItemChecked(2, True)
ElseIf 60 <= value < 80 Then
Me.CheckedListBox1.SetItemChecked(3, True)
Else
Me.CheckedListBox1.SetItemChecked(4, True)
End If
End Sub
然后我調用check(60)並返回第一項檢查。 這是錯誤的?
您需要更正您的條件,如下所示:
Private Sub Check(value As Double)
Me.CheckedListBox1.ClearSelected()
If 0 <= value And value < 20 Then
Me.CheckedListBox1.SetItemChecked(0, True)
ElseIf 20 <= value And value < 40 Then
Me.CheckedListBox1.SetItemChecked(1, True)
ElseIf 40 <= value And value < 60 Then
Me.CheckedListBox1.SetItemChecked(2, True)
ElseIf 60 <= value And value< 80 Then
Me.CheckedListBox1.SetItemChecked(3, True)
Else
Me.CheckedListBox1.SetItemChecked(4, True)
End If
End Sub
第一個If
語句將始終評估為True
。
因為True
轉換為1
而False
轉換為0
。
如果您看一下,這將變得更加清晰:
If (0 <= value) < 20 Then
因此,無論value
包含哪個數字,條件都將是...
True < 20
..或... False < 20
有關更多信息,請參見此處: 在VB.NET中將布爾值轉換為整數
因此,您需要更改以下條件:
If 0 <= value And value < 20 Then ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.