2012-02-11 34 views
2

再次我有一個問題,我似乎不能提出一個解決方案。所以在這裏它是,我有一個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

回答

0

我確實有所有繼承人後使用的圖像列表我如何得到它的工作:

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