Как я могу прочитать SelectedItem списка? - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь получить выделенный текст в ListBox для отображения в списке.
У меня есть кнопка, которая при нажатии отображает текст выбранного элемента в ListBox.

Я уже пытался заставить окно списка отображать текст в текстовом поле, используя Listbox.SelectedItem:

Listbox1.SelectedItem = Textbox1.Text

Когда я это делаю, я получаю сообщение об ошибке:

System.NullReferenceException: 'Переменная объекта или переменная блока не установлена.'

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Ваше описание несколько перевернуто.
Не ясно, хотите ли вы установить ListBox.SelectedItem, используя текст TextBox, или вы хотите установить TextBox.Text с текстом SelectedItem ListBox.

Код говорит одно, а описание другое.Возможно, ваша ошибка вызвана нулевым значением SelectedItem (вы ничего не выбрали).
Но, если вы хотите установить TextBox.Text с текстом ListBox.SelectedItem, вы можете использовать GetItemText () метод.Этот метод имеет плюс, он не вызовет исключения, если в списке нет выбранных элементов (SelectedItem - null (nothing)).

TextBox1.Text = ListBox1.GetItemText(ListBox1.SelectedItem)

Противоположное:
Вы можете использовать методы ListBox FindString () и FindStringExact () , чтобы найти элемент в коллекции элемента управления, соответствующийданная строка.Первый находит первые элементы в ListBox, который начинается с указанной строки, последний соответствует только всей строке.
Поиск может начинаться с определенного индекса.Это не чувствительно к регистру.

listBox1.SelectedIndex = listBox1.FindString(textBox1.Text, 0)
' or
listBox1.SelectedIndex = listBox1.FindStringExact(textBox1.Text, 0)

Вы можете продолжить поиск, указав в качестве отправной точки индекс ранее найденного элемента:

private int lboxSearchIndex = -1;

Private Sub ButtonSearch_Click(sender As Object, e As EventArgs) Handles ButtonSearch.Click
    lboxSearchIndex = listBox1.FindString(textBox1.Text, lboxSearchIndex)
    listBox1.SelectedIndex = lboxSearchIndex
End Sub

Установка SelectedItem аналогична использованию FindStringExact()method.
Элемент задается только полным соответствием, но он чувствителен к регистру.

0 голосов
/ 17 мая 2019

Listbox1.Text = TextBox1.Text Дайте мне знать, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...