Проверка в ListBox на совпадение элементов - Visual Basic .NET
Формулировка задачи:
Здравствуйте!
Для проверки элементов на совпадение (в данном случае номеров скважин) использую ListBox.Itesm.Contains. Сам ListBox расположен на одной форме (frmMain), а поле добавления элемента (номера скважины) - на другой (frmWellAdd). Ниже представлен код:
Проблема в том, что при добавлении нового элемента (скважины) не срабатывает тот самый ListBox.Itesm.Contains...
Хотя, если добавить новый элемент (новую скважину), то она добавляется в список ListBox'а и при повторном добавлении элемента с аналогичным названием всё срабатывает как надо. А вот после закрытия приложения и повторного запуска, добавления элемента (скважины) - опять такая же история - не видит элементы (номера скважин) и в итоге в ListBox'е два одинаковых элемента...
Может проблема заключается в том, что не видит уже ранее добавленные элементы (первый элемент "14" ранее добавленный, а второй элемент (скважина) "14" после повторного открытия приложения и добавления элемента...)???
Листинг программы
- If frmMain.LBox_Wells.Items.Contains(Me.TB_WellName_New.Text) = False Then
- frmMain.ToolStripStatus_Well.Text = "Скважина: " & Me.TB_WellName_New.Text
- frmWellsParam.StatusLbl_WellName.Text = "Скважина: " & Me.TB_WellName_New.Text
- frmWellsParam.ShowDialog(frmMain)
- Me.Close()
- ElseIf frmMain.LBox_Wells.Items.Contains(Me.TB_WellName_New.Text) = True Then
- Dim MsgWellRepeat As Integer = MsgBox("Скважина с таким именем уже существует!" & vbCrLf & _
- "Редактировать данные по скважине?", MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question + _
- MessageBoxButtons.YesNo, frmMain.AppName)
- If MsgWellRepeat = MsgBoxResult.Yes Then
- frmWellsParam_Clone.StatusLbl_WellName.Text = "Скважина: " & Me.TB_WellName_New.Text
- frmWellsParam_Clone.ShowDialog(frmMain)
- Me.Close()
- ElseIf MsgWellRepeat = MsgBoxResult.No Then
- Me.Close()
- End If
- End If
Решение задачи: «Проверка в ListBox на совпадение элементов»
textual
Листинг программы
- Dim strpath As String = "Ваша директория с подкаталогами"
- If Directory.Exists(strpath) Then
- Dim dirInfo As New DirectoryInfo(strpath)
- Dim dir() As FileSystemInfo = dirInfo.GetDirectories
- For a As Long = 0 To dir.Length
- If dir(a).Name <> "Искомая директория" Then
- 'Ваш код добавления
- Else
- 'Ваш код
- End If
- Next
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д