2013-05-11 3 views
1

Я довольно новичок в кодировании. Я работал над учебником Visual Basic, и я не понимаю строки в коде. Ниже приведен код.Нужно объяснять кому-то .SelectedIndex

Public Class Form1 
    Private Sub lstData_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstData.SelectedIndexChanged 
     Dim strName As String 
     Dim strFavoriteColor As String 
     strName = lstData.Items(lstData.SelectedIndex).ToString 
     Select Case strName 
      Case "Bryan" 
       strFavoriteColor = "Madras Yellow" 
      Case "Ashley" 
       strFavoriteColor = "Sea Blue" 
      Case "Jenifer" 
       strFavoriteColor = "Morning Mist" 
      Case "Eddie" 
       strFavoriteColor = "Passionate Purple" 
      Case "Katelyn" 
       strFavoriteColor = "Red" 
     End Select 
     MessageBox.Show(strName & "'s favorite color is " & strFavoriteColor, "Select Demo") 
    End Sub 
End Class 

Линия, что я не понимаю strName = lstData.Items (lstData.SelectedIndex) .ToString

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

Ближе всего я нашел ответ website. Я надеюсь, что кто-то сможет объяснить это мне более понятным образом.

+0

Из того, что я могу сказать, lstData - это ваш список. Таким образом, вы получаете элементы списка и предоставляете индекс выбранного элемента и выводя его в строку для выполнения случая переключателя. Элементы - это коллекция ListItems в списке, и вы получаете доступ к элементам коллекции Collection, предоставляя индекс того, который вы хотите. Поэтому hes дает ему индекс выбранного элемента, который он хочет включить. – Bearcat9425

+1

Ваш вопрос действительно не имеет большого смысла. '.Items' относится к отдельным« Элементам »(объектам), которые находятся в« ListBox », а« .SelectedIndex »- это индекс выбранного элемента (тот, который выбрал пользователь, или ** выбрано **). Больше нечего сказать, и объяснить это яснее. –

ответ

1

lstData.Items (lstData.SelectedIndex) .ToString

  • lstData раскрывающийся список.

  • lstData.Items() будет возвращает коллекцию элементов (Bryan, Эшли, Дженифер, Эдди, Кейтлин), присутствующих в этом dropdownlist.

  • Теперь посмотрим, каждый элемент в этой коллекции оказывает unique index как этот

    0-> Bryan, 1-> Эшли, 2-> Jenifer, 3-> Эдди, 4-> Katelyn

  • В то время как lstData.Items() вернет всю коллекцию, lstData.items(index) вернет конкретный элемент, имеющий индекс, который мы передали.

    Например: lstData.items(0) вернется Брайан

  • Теперь пришел lstData.SelectedIndex. Это свойство вернет индекс элемента, который мы выбрали во время выполнения.

    Например: если элемент, выбранный в раскрывающемся списке, был Jenifer. Затем возвращается lstData.SelectedIndex 2.

  • Рассмотрите, вы выбрали Эшли из раскрывающегося списка lstData.

    Теперь код lstData.SelectedIndex возвратит 1.

    Поэтому код lstData.Items(lstData.SelectedIndex) будет evaulated в lstData.Items (1).

    Как мы знаем, lstData.Items(1) вернется Эшли

  • Кстати .ToString() будет возвращать его экземпляр в строковое представление.

+0

Спасибо большое! Теперь у меня есть более четкое понимание того, как это работает. – Deemeehaa

3

Items является ItemCollection для Listbox, это коллекция объектов, поэтому он может хранить целые объекты, а также простой текст. SelectedIndex - это индекс элемента этой коллекции, начинающийся с 0. Итак, если вы, как и для Items(selectedIndex), получаете элемент этой коллекции.

Смежные вопросы