我已经加载了一个图像集合到一个文件夹(图标),我想知道如何在程序启动时将所有这些加载到列表视图中。我试图让它们加载到视图中,并在图像下方显示带有标题或说明的图片。C#WinForms - Listview加载图像
在此之后,我计划(以某种方式)选择一个,然后单击一个图片框在鼠标光标的框中添加图标。
我在C#中做这些类型的东西比较新。
我已经加载了一个图像集合到一个文件夹(图标),我想知道如何在程序启动时将所有这些加载到列表视图中。我试图让它们加载到视图中,并在图像下方显示带有标题或说明的图片。C#WinForms - Listview加载图像
在此之后,我计划(以某种方式)选择一个,然后单击一个图片框在鼠标光标的框中添加图标。
我在C#中做这些类型的东西比较新。
我认为你需要ListView.LargeImageList或ListView.SmallImageList属性。
请注意,它们的默认值为空,这意味着您必须为其分配新的ImageList对象。在此之后,您可以将图像加载到ImageList。
然后,您可以使用ListViewItem.ImageIndex属性设置要显示的图像的索引。
至于从文件加载图像,您可以使用Image.FromFile方法。
我不太清楚,我完全理解你想从这一点上实现的目标,但我认为ListView.ItemSelectionChanged事件可以给你你想要的。
ListView不支持嵌入的PictureBox或其他控件,但您可以使用ImageList
,因为ShdNx指出。
一定要在单独的线程上加载并正确同步(即在更新ImageList时调用BeginInvoke)。这将确保您的用户界面在加载过程中不会挂起。
还有第三方组件Better Thumbnail Browser正是这种(它支持自动装载从一个文件夹,数据库或其他源,缩放,复选框,多遍装载,图像缓存和许多其他物品):