如何从vb.net的列表框中获取所选项目

时间:2013-10-24 10:07:19

标签: vb.net listbox

我正在使用ListBox来显示某些值,它可以正常工作但是当我尝试从列表框中获取所选项时,它会显示错误的空引用错误。

以下是我为从ListBox获取值而编写的代码:

 For i As Integer = 0 To lsttasks.SelectedItems.Count - 1
    userTaskDtlSrNo = Val(lsttasks.SelectedItems(i).ToString())
    If userTaskDtlSrNos <> "" Then userTaskDtlSrNos &= ","
    userTaskDtlSrNos &= userTaskDtlSrNo
 Next

有谁能告诉我这段代码有什么问题?

3 个答案:

答案 0 :(得分:4)

您不需要那里的Val()功能

不要忘记声明Dim userTaskDtlSrNo as String

使用:userTaskDtlSrNo = lsttasks.SelectedItems(i).ToString()

答案 1 :(得分:2)

我相信你将字符串赋值为整数, 将userTaskDtlSrNo声明为String,然后使用

userTaskDtlSrNo = Val(lsttasks.SelectedItems(i).ToString())

如果您需要将userTaskDtlSNo更改为整数,那么只需使用

Dim intUserTask As Integer
Integer.TryParse(userTaskDtlSrNo, intUserTask)

分配一个与整数相同的新变量,我不知道你的其余代码,但我没有理由说这不能解决你的问题。 : - )

答案 2 :(得分:0)

这比看起来容易。

如果要删除所选的对象:

'let recips be the listbox name
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    Recips.Items.Remove(Recips.SelectedItem)
End Sub

如果您想获取所选项目(例如将其设置为字符串):

'let pie be a string variable, and recips to be the listbox again respectively
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
pie = Recips.selectedItem
End Sub

我希望这对你来说已经足够了,我不确定我是否覆盖了足够的信息。如果我忘了,请评论。如果这有帮助,请接受这个答案。