0
중복 된 항목이 목록 상자에 추가되는 것을 방지하는 데 문제가 있습니다.문제 목록 상자에 저장 파일에서로드 된 항목이 포함되어있을 때 중복 목록 상자에 추가되는 것을 방지
- 내 윈도우 폼이리스트 박스를 가지고있는 사용자가 버튼을 클릭 할 때, 그들은 첫 번째 상자에서 체크 한 항목이
- 코드가 나는 아래의 두 번째 상자에 추가되도록 양식을 설계
- "추가"버튼에 추가 된 항목은 상자 1에 체크 된 항목이 상자 2에 추가되는 것을 방지하기위한 것입니다.
- 내 코드의 문제점은 복제를 중지하지 않는다는 것입니다 상자 2에 저장 파일에서로드 된 항목이 들어있는 경우 상자 2에 추가되지 않습니다.
이 문제를 해결하는 방법에 대한 의견이 있으십니까?
Public Sub additems_Click(sender As Object, e As EventArgs) Handles additems.Click
Dim itemChecked As Object
Dim alreadyonkey As Boolean
Dim duplicates As Integer = 0
If box1.CheckedItems.Count > 0 Then
For Each itemChecked In box1.CheckedItems
alreadyadded = False
'Check if item selected has already been added to box2
If box2.Items.Contains(itemChecked) = True Then
alreadyadded = True
duplicates = duplicates + 1
Else
alreadyadded = False
End If
'Add item if all criteria met
If box2.Items IsNot "" And alreadyadded = False Then
box2.Items.Add(itemChecked)
End If
Next
If duplicates > 0 Then
MsgBox("One or more of the items you are trying to add have already been added.", MsgBoxStyle.Critical, "Item has already been added")
alreadyadded = False
End If
End If
최종 하위
목록 상자 또는 체크리스트입니까? 당신은'Selected' 또는 유사한 프로퍼티와 그것들의 콜렉션을 데이터 소스로 포함하는 클래스를 사용할 수 있습니다. 첫 번째는 선택되지 않은 필터를 필터링하고 다른 필터는 반대가됩니다. – Plutonix
Box1은 체크리스트입니다. Box2는 보통의 목록 상자입니다. 이 방법을 사용할 때 문제는 Box1에서 선택할 수있는 항목이 별도의 콤보 상자에서 어떤 인덱스가 선택되었는지에 따라 생성된다는 것입니다. –