2015-01-08 2 views
0

imageList 및 listView를 설정했습니다. 이상적으로 이미지 아래에 파일 이름을 표시하고 싶습니다.listView 및 imagelist에 파일 이름 표시. 선택한 항목의 파일 이름 표시

업데이트 됨 아래의 항목을 사용하십시오. 아래에 언급 된 태그가 몇 가지 움직일 수있었습니다. 이제 파일을 선택하여 파일 이름을 추적합니다. 이제 파일 이름을 listview에 표시 할 수 있는지 확인해야합니다.

private void GetImages() 
    { 
     DirectoryInfo dir = new DirectoryInfo(@"c:\pics"); 
     this.listView1.View = View.LargeIcon; 
     this.imageList1.ImageSize = new Size(67, 100); 
     this.listView1.LargeImageList = this.imageList1; 
     int j = 0; 
     foreach (FileInfo file in dir.GetFiles()) 
     { 
      try 
      { 
       imageList1.Images.Add(file.Name, Image.FromFile(file.FullName)); 
       ListViewItem item = new ListViewItem(file.Name); 
       item.Tag = file.Name; 
       item.ImageIndex = j; 
       this.listView1.Items.Add(item); 
       j++; 
      } 
      catch 
      { 
       Console.WriteLine("This is not an image file"); 
      } 
     } 
    } 

    private void listView1_Click(object sender, EventArgs e) 
    { 
     ListViewItem item = listView1.SelectedItems[0]; 
     label1.Text = item.Tag.ToString(); 
     int itemIndex = listView1.SelectedIndices[0]; 
     Image img = imageList1.Images[itemIndex]; 
     pictureBox1.Image = img; 
    } 
+0

** 전체 경로 **가 필요합니까? 그렇다면 ListViewItem : item.Tag = file.FullName'을 만들 때 Tag 속성에 저장할 수 있습니다. 그런 다음 다시 당겨 label1에 표시 할 수 있습니다. –

+0

전체 경로를 표시하려면 왜 이름 만 ImageList에 넣어야합니까? – TaW

+0

나는 항상 내가 어떤 dir에서 일할 것인가를 알고 있기 때문에 나는 완전한 경로가 필요하지 않다. –

답변

0

좋아, 내가 다른 답변의 일부를 단순화했습니다 생각 :

여기에 새로운 코드입니다. 이 방법으로 파일 이름을 이미지 아래에 표시 할 수 있습니다. 또한 이미지가 선택되면 나는 그것을 활용할 수 있습니다.

파일 이름을 저장하기 위해 item.tag를 사용하고 있습니다.

private void GetImages() 
    { 
     DirectoryInfo dir = new DirectoryInfo(@"c:\pics"); 
     this.listView1.View = View.LargeIcon; 
     this.imageList1.ImageSize = new Size(100, 100); 
     this.listView1.LargeImageList = this.imageList1; 
     int j = 0; 
     foreach (FileInfo file in dir.GetFiles()) 
     { 
      try 
      { 
       //this.imageList1.Images.Add(Image.FromFile(file.FullName)); 
       imageList1.Images.Add(file.Name, Image.FromFile(file.FullName)); 
       ListViewItem item = new ListViewItem(file.Name); 
       item.Tag = file.Name; 
       item.ImageIndex = j; 
       this.listView1.Items.Add(item); 
       j++; 
      } 
      catch 
      { 
       Console.WriteLine("This is not an image file"); 
      } 
     } 
    } 

listview1_Click 또는 기타 행동 유도 호출에서 파일 이름 태그를 사용하기 위해 다음을 사용할 수 있습니다.

ListViewItem item = listView1.SelectedItems[0]; 
txtNewWM.Text = item.Tag.ToString(); 
관련 문제