Поле со списком добавление элементов из существующего массива

#vb.net

#vb.net

Вопрос:

Итак, я отобразил свой параллельный массив в поле со списком при загрузке формы. Пользователь нажимает на имя, и затем отображается номер телефона. Так что все там работает нормально. Моя следующая цель — запросить у пользователя новый контакт, они вводят новое имя в одно текстовое поле, затем новый номер в другое текстовое поле. Затем имя контакта отображается в поле со списком. Когда я нажимаю на имя, оно с первой попытки выдает мне номер, но затем я ввожу новый контакт, и информация от первого контакта по-прежнему отображается каждый раз, когда я ввожу новый контакт. Я не знаю почему, есть идеи?

 Module
Option Explicit On
Module MainModule
Public strPeople() As String = {"Kyle", "John", "Jake", "Donna", "Carly","Ty", "Mavis"}
Public strPhoneNumbers() As String = {"945-1232", "804-2329", "290-7321", "928-4569", "205-9893", "320-0195", "305-4520"}
Public count As Integer = 0
Public numCount As Integer = 0
End Module

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ComboBox1.Items.AddRange(strPeople)
End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    Dim strPhoneNums As String = strPhoneNumbers(ComboBox1.SelectedIndex)

    Label3.Text = "Phone Number: " amp; strPhoneNums

End Sub
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

    If TextBox1.Text = "" And TextBox2.Text = "" Then
        MessageBox.Show("Please Enter Name and Number")
    ElseIf TextBox1.Text <> "" And TextBox2.Text = "" Then
        MessageBox.Show("Please Enter A Number")
    ElseIf TextBox1.Text = "" And TextBox2.Text <> "" Then
        MessageBox.Show("Please Enter a Name")
    Else
        For Each Item As String In TextBox1.Text
            count  = 1
            ReDim Preserve strPeople(6   count)
            strPeople(count) = TextBox1.Text
        Next
        ComboBox1.Items.Add(strPeople(count))
        TextBox1.Clear()

        For Each Itm As String In TextBox2.Text
            numCount  = 1
            ReDim Preserve strPhoneNumbers(6   numCount)
            strPhoneNumbers(6   numCount) = TextBox2.Text
        Next
        TextBox2.Clear()

    End If
End Sub
End Class
  

Комментарии:

1. Научитесь использовать коллекции List<T> вместо массивов.

2. Моя домашняя работа требует, чтобы я использовал массивы для этого раздела. Мы работаем над параллельными массивами и можем изменять их размер

3. Проблема с нажатием кнопки Добавить или после нажатия кнопки Добавить при выборе контакта из поля со списком?

4. Да, это тот самый!

5. Это был вопрос «или». Я предполагаю, что вы ищете ComboBox1.SelectedIndex = ComboBox1.Items.Count - 1 после очистки строки TextBox2. То, что вы добавляете элемент в поле со списком, не означает, что он выбирается автоматически.