1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Dim CheckedItemsTotalPoints As Integer = 0 'Byte = 0
Dim x As Integer = 0
Dim compt As Integer = 0
Private Sub CheckedListBox1_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
With Me.CheckedListBox1
Dim c As Integer = CInt(.Items(e.Index).ToString.Substring(.Items(e.Index).ToString.Length - 2, 1))
If e.NewValue = CheckState.Checked Then
CheckedItemsTotalPoints += c
ElseIf e.NewValue = CheckState.Unchecked Then
CheckedItemsTotalPoints -= c
End If
Me.BLUspellsTotalSetPoints.Text = CheckedItemsTotalPoints.ToString & " / " & BLUspellsMaxPoints.ToString
Dim Diff As Integer = BLUspellsMaxPoints - CheckedItemsTotalPoints
If Diff > 5 Then
Exit Sub 'Highest SetPoint cost being = 5, nothing else to do
Else
If compt = 1 Then
x += 1
End If
For Me.x = x To .Items.Count - 1
If .GetItemCheckState(x) = CheckState.Unchecked _
AndAlso CInt(.Items(x).ToString.Substring(.Items(x).ToString.Length - 2, 1)) >= Diff Then
compt = 1
.SetItemCheckState(x, CheckState.Indeterminate) 'Item with too high cost becomes uncheckable
End If
Next
End If
End With
End Sub |
Partager