2014-12-14 2 views
-1

У меня есть этот код и AllFiles является массив строк:Как я могу получить из listView1 все выбранные элементы и добавить их в строку []?

public string[] AllFiles { get; set; } 

В этом месте я пытаюсь получить все выбранные элементы (файлы в данном случае). Мой списокView1 установлен в конструкторе для multi select, поэтому я могу выбрать один или несколько файлов из спискаView1.

Когда я делаю правый щелчок по файлу, я вижу опции menuStrip1. Я задаюсь вопросом, могу ли я сделать несколько отдельных файлов и сделать правый щелчок по меню, которое будет открыто с помощью менюStrip1, будет эффективным для всех выбранных файлов или только для того, на котором курсор мыши включен?

void listView1_MouseUp(object sender, MouseEventArgs e) 
     { 
      if (e.Button == MouseButtons.Right) 
      { 

       if (listView1.FocusedItem.Bounds.Contains(e.Location) == true) 
       { 
        menuStrip1.Show(listView1, e.Location); 
       } 
      } 
     } 

И тогда у меня есть событие menuStrip1 пункта щелкнул:

void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) 
     { 
      if (e.ClickedItem.Text == "Upload") 
      { 
       AllFiles = listView1.SelectedItems 
       AllFiles = listView1.FocusedItem.Text); 
       Bgw.RunWorkerAsync(); 
      } 
     } 

И здесь я хочу добавить, чтобы присвоить массив AllFiles файлы я выбранные.

listView1.FocusedItem.Text 

Есть только один файл, но если я выбрал более одного файла, как я могу Фокус/Получить все отмеченные/выбранные файлы/элементы из ListView1 и как назначить их AllFiles массив?

ответ

1

Это будет выглядеть примерно так:

 List<String> selected = new List<String>(); 
     foreach(ListViewItem lvi in listView1.SelectedItems) 
     { 
      selected.Add(lvi.Text); 
     } 
     AllFiles = selected.ToArray(); 
Смежные вопросы