1

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

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

4

3 回答 3

4

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

别忘了声明Dim userTaskDtlSrNo as String

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

于 2013-10-24T10:43:42.970 回答
3

我相信您将字符串分配给整数,将 userTaskDtlSrNo 声明为字符串,然后使用

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

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

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

要分配一个与整数具有相同值的新变量,我不知道你的代码的其余部分,但我看不出有什么理由不能解决你的问题。:-)

于 2014-04-16T17:14:27.870 回答
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

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

于 2014-02-05T04:29:20.667 回答