Использование цикла for для получения выбранных элементов в списке, не работающих с глобальной переменной - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть два элемента в моем списке:

item1
item2

Когда я выбираю первый элемент и нажимаю кнопку, в MessageBox отображается item1.Я нажимаю «ОК», и затем отображается второй пункт, как мне и нужно.При отладке моего приложения глобальная переменная «pattern» отображает только первый элемент списка, проходит по циклу и снова показывает тот же элемент (item1).Мне нужно, чтобы показать item1, а затем item2.Я удалил другой код для этого примера, но моя цель - сделать так, чтобы цикл for захватывал элемент списка в строке, а затем вызывал метод, который будет копировать файлы в папку на основе выбора элемента списка, проходить по каждому элементу ископируйте другие файлы для каждого выбранного элемента.Проблема, которую я получаю, заключается в том, что файлы будут записаны в папку назначения, а затем я получу сообщение об ошибке уже существующих файлов, поскольку оно возвращается к первому элементу.Затем следует выбрать второй элемент и сделать то же самое, но метод копирования фактически не запускается для второго элемента в списке.

        for (int i = 0; i < listBox1.Items.Count; i++)
        {
            pattern = (listBox1.SelectedItem.ToString());
            MethodToCopyFiles(); // This is my method used to copy files based on the selected item in the listbox.  
            listBox1.SetSelected(i, true);
            MessageBox.Show(listBox1.SelectedItem.ToString()); // Just here for my example, not intended for the application.
        }

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете попробовать следующее:

    for (int i = 0; i < listBox1.Items.Count; i++)
    {
        MessageBox.Show(listBox1.Items[i].ToString());
    }

Если для множественного выбора вы можете получить все выбранные элементы, используя приведенный ниже код.

    foreach(int i in listBox1.SelectedIndices)
    {
        MessageBox.Show(listBox1.Items[i].ToString());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...