gpt4 book ai didi

vb.net - 多选列表框

转载 作者:行者123 更新时间:2023-12-01 08:18:04 25 4
gpt4 key购买 nike

我在表单上有一个列表框,它可以很好地完成我想做的事情。

我想编辑表单上的项目,这意味着填充列表框,然后选择相关项目。

我的列表框包含一个项目尺寸列表,我想选择属于正在编辑的项目的尺寸。

请有人给我一些指点。

我试过 me.lstItemSizes.SetSelected(i,true)但这仅适用于单个项目。

任何帮助将不胜感激。

我的代码:

    Private Sub SelectItemSizes(ByVal itemID As Integer)

Dim itemSizes As IList(Of ItemSize) = _sizeLogic.GetItemSizes(itemID)

Me.lstItemSizes.SelectionMode = SelectionMode.MultiExtended

If (itemSizes.Count > 0) Then

For i As Integer = 0 To Me.lstItemSizes.Items.Count - 1

For x As Integer = 0 To itemSizes.Count - 1

If (CType(Me.lstItemSizes.Items(i), PosSize).SizeID = itemSizes(x).SizeID) Then
Me.lstItemSizes.SetSelected(i, True)
Else
Me.lstItemSizes.SetSelected(i, False)
End If

Next

Next

End If

End Sub

最佳答案

您是否将选择模式设置为多?

您需要指定它以允许多项选择。

然后你可以这样做:

Dim i as Integer=0

For i=0 To Me.listBox.SelectedItems.Count -1
'display the listbox value
next i

这是一个屏幕截图:

enter image description here

在列表框上设置属性后,根据要选择的值调用 setselected。
me.lstItemSizes.SetSelected(3,true)
me.lstItemSizes.SetSelected(4,true)
me.lstItemSizes.SetSelected(9,true)

在这里您可以添加 20 个数字,并且只选择偶数。
    Dim i As Integer

'load the list with 20 numbers
For i = 0 To 20
Me.ListBox1.Items.Add(i)
Next

'now use setselected
'assume only even are selected
For i = 0 To 20
If i Mod 2 = 0 Then
Me.ListBox1.SetSelected(i, True)
End If
Next

第三次编辑

看看你循环的方式,假设我创建了一个整数列表,我的 vb.net 生锈了我主要用 C# 开发。但假设你这样做了:
     Dim l As New List(Of Integer)

l.Add(2)
l.Add(6)
l.Add(20)

您的列表中只有三个项目,因此首先根据列表中的项目循环,然后在列表框中的项目中,反之亦然。看这个:
 Dim i As Integer
Dim l As New List(Of Integer)

l.Add(2)
l.Add(6)
l.Add(20)

'load the list with 20 numbers
For i = 0 To 20
Me.ListBox1.Items.Add(i)
Next

Dim lCount As Integer = 0

For lCount = 0 To l.Count - 1
For i = 0 To 20
If i = l.Item(lCount) Then
Me.ListBox1.SetSelected(i, True)
Exit For
End If
Next
Next

在代码中,我的 l 是一个只有 3 个项目的列表:2、6 和 20。
我将这些项目添加到 l 只是一个列表对象。
所以现在我必须循环使用这 3 个数字并与我的列表框进行比较。你有它的相反,你在你的列表框上循环,然后考虑到列表对象。

请注意,在我的 for 循环中,一旦找到列表中的项目,我就不再需要循环,所以我 exit for .这确保我不会逾期所需的循环量。找到该项目后,返回列表对象计数的计数。

在这里运行我的代码后是结果

enter image description here

关于vb.net - 多选列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5488211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com