2015-02-05 3 views
1

вот как я заполнить мой ListBoxжерех ListBox установить разные этикетки для значений

ImageList.Items.Clear(); 
     string[] files = Directory.GetFiles(FileImageFolder, "*" + SearchTerms.Text.Replace(" ", "*") + "*"); 
     files = Array.FindAll(files, delegate(string f) { return IsImage(f); }); 

     foreach (string file in files) 
     { 
      if (IsImage(file)) 
       ImageList.Items.Add(file.Substring(file.LastIndexOf('/') + 1)); 
     } 

будет отображать имя файла изображения (вместе с его папке н пути) на поле со списком. однако что, если я хочу отображать другой текст вместо имени файла (и его пути) изображений в списке? например, image1, image2 вместо изображений/bbla/image_1.jpg и images/bbla/cat.jpg. но я не хочу менять прилагаемое значение.

благодаря

ответ

1

Это очень просто

int id=1; 
foreach (string file in files) 
{ 
    if (IsImage(file)) 
     ImageList.Items.Add(new ListItem("image"+id++,file.Substring(file.LastIndexOf('/') + 1))); 
} 

или вы можете сделать это, как следовать

foreach (string file in files) 
{ 
    if (IsImage(file)) 
    { 
     ListItem li=new ListItem("image"+id++,file.Substring(file.LastIndexOf('/') + 1)) 
     ImageList.Items.Add(li); 
    } 
} 

или вы можете использовать Array.Length и использовать for loop вместо foreach loop.

Смежные вопросы