C# 没有图像列表的Listview?
我又一次遇到了一个我似乎无法想出解决办法的问题。在这里,我有一个显示图像文件目录的列表视图,我希望列表视图为这些文件显示这些图像,问题是我还需要程序在每像素级别修改图像,所以我在一个单独的线程上完成这项工作,所以我想做的是获取我已经存在的修改图像的PictureBox列表,并将文件名与相应的图像匹配。有什么办法吗 这是我到目前为止所拥有的C# 没有图像列表的Listview?,c#,image,list,listview,picturebox,C#,Image,List,Listview,Picturebox,我又一次遇到了一个我似乎无法想出解决办法的问题。在这里,我有一个显示图像文件目录的列表视图,我希望列表视图为这些文件显示这些图像,问题是我还需要程序在每像素级别修改图像,所以我在一个单独的线程上完成这项工作,所以我想做的是获取我已经存在的修改图像的PictureBox列表,并将文件名与相应的图像匹配。有什么办法吗 这是我到目前为止所拥有的 public static List<PictureBox> ContentItems = new List<PictureBox>(
public static List<PictureBox> ContentItems = new List<PictureBox>();
...
public static string ContentDirectory = "";
private void FileTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
TreeNode newSelected = e.Node;
FileList.Items.Clear();
DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
ListViewItem.ListViewSubItem[] subItems;
ListViewItem item = null;
foreach (FileInfo file in nodeDirInfo.GetFiles())
{
item = new ListViewItem(file.Name);
subItems = new ListViewItem.ListViewSubItem[]
{ new ListViewItem.ListViewSubItem(item, "File"),
new ListViewItem.ListViewSubItem(item,
file.LastAccessTime.ToShortDateString())};
item.SubItems.AddRange(subItems);
FileList.Items.Add(item);
}
FileList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
公共静态列表ContentItems=new List();
...
公共静态字符串ContentDirectory=“”;
私有void FileTree\u NodeMouseClick(对象发送方,TreeNodeMouseClickEventArgs e)
{
TreeNode newSelected=e.节点;
FileList.Items.Clear();
DirectoryInfo nodeDirInfo=(DirectoryInfo)newSelected.Tag;
ListViewItem.ListViewSubItem[]子项;
ListViewItem=null;
foreach(nodeDirInfo.GetFiles()中的FileInfo文件)
{
item=新的ListViewItem(file.Name);
子项=新建ListViewItem.ListViewSubItem[]
{新建ListViewItem.ListViewSubItem(项,“文件”),
新建ListViewItem.ListViewSubItem(项,
文件.LastAccessTime.ToShortDateString())};
item.SubItems.AddRange(子项);
FileList.Items.Add(item);
}
FileList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
我确实需要使用图像列表,毕竟我是如何让它工作的:
void FileTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
TreeNode newSelected = e.Node;
FileList.Items.Clear();
DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
ListViewItem.ListViewSubItem[] subItems;
ListViewItem item = null;
ContentImg.Images.Clear();
int CurrentImg = 0;
foreach (FileInfo file in nodeDirInfo.GetFiles())
{
string fileName = file.Name;
foreach (PictureBox PB in ContentItems)
{
if (fileName == PB.Name)
{
//Get Image
ContentImg.Images.Add(PB.Image);
item = new ListViewItem(file.Name, CurrentImg);
subItems = new ListViewItem.ListViewSubItem[]
{ new ListViewItem.ListViewSubItem(item, "File"),
new ListViewItem.ListViewSubItem(item,
file.LastAccessTime.ToShortDateString())};
item.SubItems.AddRange(subItems);
FileList.Items.Add(item);
CurrentImg += 1;
}
}
}
我确实需要使用一个图像列表,毕竟我是这样做的:
void FileTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
TreeNode newSelected = e.Node;
FileList.Items.Clear();
DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
ListViewItem.ListViewSubItem[] subItems;
ListViewItem item = null;
ContentImg.Images.Clear();
int CurrentImg = 0;
foreach (FileInfo file in nodeDirInfo.GetFiles())
{
string fileName = file.Name;
foreach (PictureBox PB in ContentItems)
{
if (fileName == PB.Name)
{
//Get Image
ContentImg.Images.Add(PB.Image);
item = new ListViewItem(file.Name, CurrentImg);
subItems = new ListViewItem.ListViewSubItem[]
{ new ListViewItem.ListViewSubItem(item, "File"),
new ListViewItem.ListViewSubItem(item,
file.LastAccessTime.ToShortDateString())};
item.SubItems.AddRange(subItems);
FileList.Items.Add(item);
CurrentImg += 1;
}
}
}
到目前为止,您在尝试的过程中遇到了哪些具体问题?我不知道下一步该怎么办,我已经设置了listview,并且我已经准备好了要编辑的图像并将其放入picturebox列表中,但是我不知道如何将文件与正确的图像进行匹配。您是否正在寻找一种方法来将您的
ListViewItem
与ContentItems
中的图像进行匹配,或者将ContentItems
中的图像显示为ListViewItem
图标,或者两者都显示PictureBox
s不能像ListViewItem
图标那样正常工作。我想将listview中的文件与ContentItems中编辑的图像进行匹配,我可以将其更改为图像列表,但这并不难。到目前为止,您的尝试遇到了哪些具体问题?我不知道下一步该怎么办,我有listview设置,我有需要编辑的图像并将其放入picturebox列表中,但我不知道如何将文件与正确的图像匹配。您是否正在寻找将您的ListViewItem
与ContentItems
中的图像匹配的方法,一种将ContentItems
中的图像显示为ListViewItem
图标的方法,或者两者都显示PictureBox
s不能像ListViewItem
图标那样正常工作。我想将listview中的文件与ContentItems中编辑的图像进行匹配,我可以将其更改为图像列表,这并不难做到。