WinForm: Получаване на стойности от избрани елементи в списъчно поле

Как да получа стойностите (не показан текст) на всички избрани елементи в списъчно поле?

Намерението ми е да използвам стойностите (които представляват първични и външни ключове в моите бази данни), за да сглобя sql заявка.

Спецификации: Използване на WinForm с .Net Framework v.4


person Jesslyn    schedule 26.08.2010    source източник


Отговори (1)


Можете също да използвате всеки обект, който харесвате, в списъчно поле. Малък пример по-долу, но за да тествате, ще трябва да създадете формуляр със ListBox и бутон върху него. Същата идея като речника, но това ще работи с по-сложни обекти.

Public Class Form1

    Dim tests As New List(Of Test)

    Class Test
        Private _Key As Integer
        Public Property Key() As Integer
            Get
                Return _Key
            End Get
            Set(ByVal value As Integer)
                _Key = value
            End Set
        End Property


        Private _value As String
        Public Property Value() As String
            Get
                Return _value
            End Get
            Set(ByVal value As String)
                _value = value
            End Set
        End Property
    End Class

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

        With tests
            .Add(New Test With {.Key = 1, .Value = "Val1"})
            .Add(New Test With {.Key = 2, .Value = "Val2"})
            .Add(New Test With {.Key = 3, .Value = "Val3"})
        End With

        ListBox1.SelectionMode = SelectionMode.MultiSimple
        ListBox1.DisplayMember = "Value"

        For Each t In tests
            ListBox1.Items.Add(t)
        Next

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each t As Test In ListBox1.SelectedItems
            Debug.WriteLine(t.Key)
        Next
    End Sub

End Class
person Jeremy    schedule 26.08.2010