将图像添加到列表框(visual basic)

5 vb.net listbox

我有一组Web托管图像,我需要我的用户能够从每个图像中选择1.我认为列表框可以用于此,但我无法弄清楚添加一个图像.这可能吗?更好的方法吗?我正在使用最新的免费vb.

inv*_*ert 9

使用Listview控件,它提供了更好的功能,并且没有烦人的调整大小错误.列表框从VB6天开始.列表视图支持列标题,分组等等.

向表单添加Imagelist控件,以存储图像; 将它的ColorDepth属性设置为32位,并将Listview的LargeImagelist属性设置为刚刚添加的imagelist控件(这也可以在代码中完成).

通过以下代码将图像添加到Imagelist:

ImageList1.Images.Add("imagekey", Image.FromStream(yourimagestream))
Run Code Online (Sandbox Code Playgroud)

通过以下代码将项目添加到Listview:

ListView1.Items.Add("list item title", "imagekey")
Run Code Online (Sandbox Code Playgroud)

"imagekey"是一种告诉Listview使用哪个图像的方法.您还可以使用索引作为图标,但指定不存在的索引将使索引超出范围异常,而不存在的键将仅使用不使用图像.

哦,您还希望将Listview Multiselect属性设置为False(如果您只希望它们一次选择一个),并在用户分别单击/双击项目时访问SelectedIndexChanged()和ItemActivate()事件.


xpd*_*pda 1

设置ListBox1.DrawModeDrawMode.OwnerDrawFixedDrawMode.OwnerDrawVariable,并添加用于绘制图像的处理程序。

Private Sub listBox1_DrawItem(ByVal sender As System.Object, ByVal e As   System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
Dim img As Image
img = sender.items(e.Index)
e.Graphics.DrawImage(img, targetsize) 
End Sub
Run Code Online (Sandbox Code Playgroud)

您可以将图像添加到列表框项目集合中。

Dim img As Image
img = Image.FromFile("c:\tmp.jpg") ' or whatever
ListBox1.Items.Add(img)
...
Run Code Online (Sandbox Code Playgroud)