Списки в VB.NET - PullRequest
       17

Списки в VB.NET

0 голосов
/ 29 сентября 2010

Я хочу вручную добавить два элемента как «Активный» и «Неактивный» в ListBox.Когда пользователь выбирает «Active», я хочу получить значение «A», а когда «Inactive» выбран, я хочу получить «I».

Как мне это сделать в VB.NET.

Ответы [ 3 ]

1 голос
/ 29 сентября 2010

Вы используете .NET 4?Если это так, то, вероятно, самое простое решение - использовать Tuple(Of String, String).Создайте кортеж («Active», «A») и другой из («Inactive», «I») и добавьте их в список.Затем установите свойство DisplayMember списка в «Item1» и ValueMember в «Item2».

Или вы можете сделать то же самое с анонимным типом.

0 голосов
/ 10 ноября 2010

Простой вариант

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    Debug.Print(ListBox1.Items(ListBox1.SelectedIndex).ToString.Substring(0, 1))
End Sub
0 голосов
/ 10 ноября 2010

Коллекция ListboxItemCollection имеет тип Object.Вы можете создать собственный элемент ListItem, как этот

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        BindListBox()
    End Sub

    Private Sub BindListBox()
        With ListBox1
            .Items.Add(New CustomListItem("Acitve", "A"))
            .Items.Add(New CustomListItem("Inactive", "I"))
            .DisplayMember = "Text"
        End With
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        MsgBox(CType(ListBox1.SelectedItem, CustomListItem).Value)
    End Sub

End Class


''Custom ListItem Class
Public Class CustomListItem
    Dim _text As String
    Dim _value As String

    Sub New(ByVal text As String, ByVal value As String)
        Me._text = text
        Me._value = value
    End Sub

    Public ReadOnly Property Text() As String
        Get
            Return _text
        End Get
    End Property

    Public ReadOnly Property Value() As String
        Get
            Return _value
        End Get
    End Property
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...