У меня есть «Первое исключение исключения типа« System.ArgumentOutOfRangeException »произошло в исключении mscorlib.dll ', и это влияет на мою программу. Вот мой код. Ниже это мое текстовое резюме кодов.Что означает System.ArgumentOutOfRangeException? (vb.net)
Private Sub Group_LeaderTextBox_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Group_LeaderTextBox.LostFocus
Dim ListCounter As Integer
Dim Checker As Integer = 0
Dim NewString As String
If Group_LeaderTextBox.Text <> "" Then
If ListBox_ParticipantsNames.Items.Count = 0 Then
ListBox_ParticipantsNames.Items.Add(Group_LeaderTextBox.Text & " (Group Leader)")
Else
For ListCounter = 0 To ListBox_ParticipantsNames.Items.Count - 1
If ListBox_ParticipantsNames.Items.Item(ListCounter).ToString.Substring(0) = Group_LeaderTextBox.Text Then
If ListBox_ParticipantsNames.Items.Item(0).ToString.Substring(ListBox_ParticipantsNames.Items.Item(0).ToString.Length - 14) = "(Group Leader)" Then
NewString = ListBox_ParticipantsNames.Items.Item(0).ToString.Replace(" (Group Leader)", "")
ListBox_ParticipantsNames.Items.RemoveAt(0)
ListBox_ParticipantsNames.Items.Insert(0, NewString)
End If
ListBox_ParticipantsNames.Items.RemoveAt(ListCounter)
ListBox_ParticipantsNames.Items.Insert(0, Group_LeaderTextBox.Text & " (Group Leader)")
Exit For
Else
Checker += 1
End If
Next
If Checker = ListBox_ParticipantsNames.Items.Count Then
If ListBox_ParticipantsNames.Items.Item(0).ToString.Substring(ListBox_ParticipantsNames.Items.Item(0).ToString.Length - 14) = "(Group Leader)" Then
ListBox_ParticipantsNames.Items.RemoveAt(0)
ListBox_ParticipantsNames.Items.Insert(0, Group_LeaderTextBox.Text & " (Group Leader)")
Else
ListBox_ParticipantsNames.Items.Insert(0, Group_LeaderTextBox.Text & " (Group Leader)")
End If
End If
End If
Else
If ListBox_ParticipantsNames.Items.Item(0).ToString.Substring(ListBox_ParticipantsNames.Items.Item(0).ToString.Length - 14) = "(Group Leader)" Then
ListBox_ParticipantsNames.Items.RemoveAt(0)
End If
End If
End Sub
Так этот код для добавления значений в поле списка, когда текстовое поле «Group_LeaderTextBox» (Давайте называть его «X») потерял фокус.
Логика это (в порядке кодов, написанных):
Но во-первых, некоторые предпосылки:
- Есть 2 способа добавления элементов в списке, один находится через X (на нем теряется фокус), а второй - через другое текстовое поле (назовем его «Y»). (Не важно)
- Весь текст из X, добавленный в список, появляется сначала в списке, независимо от того, что уже присутствует в списке.
- Текст из X, скажем, «Джон», если он добавлен в список, появится с добавленной строкой «(Лидер группы)». Итак, потеряв фокус, «Джон» появится как «Джон (руководитель группы)». Помните, что может быть и вход от Y, однако вход Y - это просто текст, который он содержит.
- Если (при потере фокуса) X пуст, то если первый элемент в списке содержит подстроку «(Руководитель группы)», она будет удалена. Итак, если «Джон» удален из X, «John (Group Leader)» будет удален. И если нет лидера группы, ничего не произойдет.
Логика:
Предположим, я вошел «Джон» в X. В фокусе утерянных, если окно список пуст, «Джон (руководитель группы)» будут просто добавлены в список. Иначе, если, например, Я уже добавил некоторые элементы в окно списка через Y, программа проверит, есть ли в списке список «Джон». Если есть, и в списке нет лидера группы, элемент «Джон» будет заменен на «John (Group Leader)», который добавлен в верхнюю часть списка (это не работает). И если уже есть лидер группы, «Джон (руководитель группы)» все еще появится наверху, но предыдущий лидер группы будет понижен в должности. Итак, если ранее «Дик»: P был предыдущим лидером группы, строка «(Лидер группы)» будет удалена из «Dick (Leader группы)».
Теперь, если после проверки всего списка нет элемента, соответствующего «Джону», программа, как и раньше, будет проверять, есть ли лидер группы. Если есть, то предыдущий лидер группы просто будет заменен на «John (Group Leader)». И если бы не было ни одного лидера группы, тогда «Джон (Лидер группы)» просто добавляется в верхнюю часть списка (это тоже не работает).
Задача 1 (сценарий)
X: John
Список:
Джон
Рики
Джейн
ИЛИ (независимо от того, из списка)
Список:
Рики
Джон
Джейн
На X теряет фокус, пункт «Джон» должен был быть удален и заменен на «Джон (лидер группы)» достроил в верхней части списка, но вообще ничего не происходит.
Задача 2 (сценарий)
X: John
Список:
Рики
Джейн
На X проигравшего фокуса, "Джон (руководитель группы)" должен был добавлен в верхней части списка, но ничего не происходит.
Итак, всякий раз, когда у меня возникают эти проблемы, исключение появляется в моем ближайшем окне. Может кто-нибудь мне помочь? Спасибо.
Это сработало! Спасибо Cyborgx37. –