#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. То, что вы добавляете элемент в поле со списком, не означает, что он выбирается автоматически.