没有图像列表的列表视图?

没有图像列表的列表视图?

问题描述:

再次我有一个问题,我似乎不能提出一个解决方案。所以在这里它是,我有一个ListView显示图像文件的目录,我希望列表视图显示这些文件的这些图像,问题是我还需要在每像素级别的程序修改图像,所以我在一个单独的线程上完成此操作,所以我想要执行的操作是将已经存在的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); 
    } 
+0

是你遇到什么具体的问题是什么你到目前为止尝试过吗? – 2012-02-11 01:45:31

+0

我不知道下一步要去哪里,我有listview设置,我有我想eddied并放入一个picturebox列表中的图像,但我不知道如何匹配具有正确图像的文件。 – Dusty 2012-02-11 01:52:48

+0

您是否正在寻找一种方法来将您的'ListViewItem's与'ContentItems'中的图像匹配,这是一种将ContentItems图像显示为ListViewItem图标还是两者的方法? 'PictureBox'不如'ListViewItem'图标效果好。 – 2012-02-11 02:09:10

我确实有所有继承人后使用的图像列表我如何得到它的工作:

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; 
       } 
      } 
     }