0

ListBox当我进行更改并将它们提交到数据库时,我正在尝试更改项目的数据。但是,为 a 分配一个新值ListBox.SelectedItem似乎不起作用,但如果我使用ListBox.Items(lstAlbums.SelectedIndex)它,它似乎会改变我表单中的实际数据。

我也通过测试对象GetHashCode,他们似乎有它相同。Boolean如果我尝试比较它们也是如此。有谁知道为什么会这样?以下是我的代码的一部分:

Private Sub DataUpdatedCallback(ByVal updatedAlbum As Album)
    ' ( lstAlbums.Items(lstAlbums.SelectedIndex) Is _
    '                           lstAlbums.SelectedItem ) == TRUE
    ' for some reason using lstAlbums.SelectedItem doesn't change the object data
    lstAlbums.Items(lstAlbums.SelectedIndex) = updatedAlbum
End Sub
4

2 回答 2

0

请改用SelectedValue。您的基础对象通常具有可用于此目的的关键字段。确保您已相应地设置了ValueMember属性。

于 2013-01-20T23:44:57.373 回答
0

传递给的引用.SelectedItem必须是列表中的现有项目之一,您不能使用该属性来修改.Item. 您当前的代码

lstAlbums.Items(lstAlbums.SelectedIndex) = updatedAlbum

是正确的。

于 2013-01-21T02:39:59.973 回答