Добрый день!
Я хочу добавить несколько строк из сканера штрих-кода, захваченных в текстовом поле, в список и, прежде чем добавить его, проверить, не была ли указанная строкауже добавлено.Поэтому у меня есть текстовое поле с именем txtWO, которое фиксирует то, что сканирует читатель, и список со списком с именем lstScanBOM, в который я добавляю строку текстового поля, если элемент еще не добавлен.Проблема в том, что, что бы я ни делал, только после того, как дважды добавлена конкретная строка, проверка на повторяющиеся записи начинает работать.Другими словами, я сканирую одну и ту же строку дважды, она добавляется, а затем, когда я сканирую в третий раз, выдает только сообщение с ошибкой о том, что это дубликат.Я не понимаю, почему это делает.Код ниже:
Private Sub frmValidareFIP_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If txtWO.Focused = False Then
txtWO.Select()
End If
End Sub
Private Sub AddUnique(StringToAdd As String)
If lstScanBom.Items.Contains(StringToAdd) = True Then
MsgBox("Articol duplicat!", vbOKOnly)
Else
'it does not exist, so add it..
lstScanBom.Items.Add(StringToAdd)
End If
End Sub
Private Sub txtWO_KeyDown(ByVal sender As Object,ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtWO.KeyDown
If e.KeyCode = Keys.Enter Then
Dim barcode As String
barcode = txtWO.Text
AddUnique(barcode)
txtWO.Clear()
txtWO.Focus()
End If
End Sub