我在显示列表视图中的图标时遇到困难。 我试过这段代码,但没有任何反应。Listview图标不显示
Dim imageList1 As ImageList
imageList1 = New ImageList()
imageList1.Images.Add(Bitmap.FromFile("C:\Users\Documents\Visual Studio 2012\Projects\MYPS\MYPSApp (client-local.vbp)\Images\UserListview.ico"))
mvarListView.SmallImageList = imageList1
其实,我不想上面的代码,因为它确实是硬编码的。 我想要的是: 在我的列表视图中,有一个名为“SmallImageList”的属性。 单击该属性图像的集合给我一个0-27的图像列表。 (见图片)
Collection of Images in Designer
我想显示的是#27图标列表视图我的左边,怎么样?
Dim clmX As System.Windows.Forms.ColumnHeader
Dim itmX As System.Windows.Forms.ListViewItem
mvarListView.View = System.Windows.Forms.View.Details
mvarListView.MultiSelect = False
mvarListView.GridLines = True
mvarListView.LabelEdit = False
mvarListView.Columns.Clear()
mvarListView.Items.Clear()
itmX = mvarListView.Items.Add("")
On Error Resume Next
'UPGRADE_ISSUE: MSComctlLib.ListItem property itmX.SmallIcon was not upgraded. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="CC4C7EC0-C903-48FC-ACCC-81861D12DA4A"'
itmX.Selected = CShort(listnode.selectSingleNode("icon").nodeTypedValue)
' itmX.ImageKey = CShort(listnode.selectSingleNode("icon").nodeTypedValue)
**itmX.ImageKey = 27** '<-- not working :(
itmX.Text = CStr(listnode.selectSingleNode("text").nodeTypedValue)
itmX.Tag = listnode.selectSingleNode("type").nodeTypedValue
subitemnodes = listnode.selectNodes("subitem")
For i = 1 To columncount - 1
'UPGRADE_WARNING: Lower bound of collection itmX has changed from 1 to 0. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A3B628A0-A810-4AE2-BFA2-9E7A29EB9AD0"'
If itmX.SubItems.Count > i Then
itmX.SubItems(i).Text = CStr(subitemnodes(i - 1).nodeTypedValue)
Else
itmX.SubItems.Insert(i, New System.Windows.Forms.ListViewItem.ListViewSubItem(Nothing, CStr(subitemnodes(i - 1).nodeTypedValue)))
End If
Next
请帮忙。
感谢, 佑
'itmX.ImageIndex = 27'很难想象如果你尝试了任何东西,你会错过intellisense – Plutonix
你是什么意思呢想念intellisense?这是输出,它没有在我的列表视图左边的任何图标..(见顶部图片) –
[智能感知](http://i.imgur.com/VB9p1YG.jpg) – Plutonix