Вывод массива в ListBox
Как сделать так, чтобы значения Items у ListBox заполнялись из массива?
Ответы (2 шт):
Можно воспользоваться методом AddRange, как пример:
Так вот сразу можно заполнить, если надо (сразу в листе):
Если не получится, то перебрать массив через цикл и добавить в лист:
Используйте свойство ListBox.DataSource для отображения элементов, и BindingList<T> вместо массива, если хотите чтобы изменения отображались в ListBox без дополнительного шаманства.
Теперь любые строки добавленные в source будут добавлены и в ListBox . Если в массив состоит из составных объектов или структур, можно указать значение какого свойства должно быть выведено с помощью свойства ListBox.DisplayMember .
Можно конечно и так:
Только в этом случае для отображения изменений придется делать что-то такое:
Вывод массива в ListBox
Как сделать так, чтобы значения Items у ListBox заполнялись из массива?
Можно воспользоваться методом AddRange, как пример:
Так вот сразу можно заполнить, если надо (сразу в листе):
Если не получится, то перебрать массив через цикл и добавить в лист:
![]()
Используйте свойство ListBox.DataSource для отображения элементов, и BindingList<T> вместо массива, если хотите чтобы изменения отображались в ListBox без дополнительного шаманства.
Теперь любые строки добавленные в source будут добавлены и в ListBox . Если в массив состоит из составных объектов или структур, можно указать значение какого свойства должно быть выведено с помощью свойства ListBox.DisplayMember .
Можно конечно и так:
Только в этом случае для отображения изменений придется делать что-то такое:
Как вывести массив в listbox c
Практическая работа «Visual Studio C#. Ввод и вывод массива»
1.Разработайте форму для ввода и вывода элементом массива

2.Запрограммируем кнопку button 1 (Ввод элементов массива) для записи каждого значения в элемент массива.
. Чтобы перейти в процедуру программирования кнопки, щелкните по ней дважды
Напишем программный код для ввода 4 элементов массива, но сначала о бъявим целочисленную переменную i и массив строк fairytales как глобальные переменные:
public partial class Form1 : Form
string [] fairytales = new string [20]; //объявляем массив строк максимального размера в 20 элементов
Теперь можно организовывать ввод элементов массива:
private void button1_Click( object sender, EventArgs e)
if (i < 4) //ограничиваем для ввода 4-х элементов
fairytales[i] = textBox1.Text; //передаем значение в элемент массива
textBox1.Text = "" ; //очищаем поле ввода
textBox1.Focus(); //устанавливаем курсор (фокус) в поле ввода
i++; //увеличиваем индекс на 1
if (i == 4) //проверяем введен ли последний элемент
MessageBox.Show( "Ввод окончен" ); //выводим сообщение для пользователя
textBox1.Enabled = false ; //закрываем доступ к элементу ввода
4.Запрограммируем кнопку button 2 (Вывод элементов массива):
private void button2_Click( object sender, EventArgs e)
for ( int j = 0; j < 4; j++) //используем цикл для вывод 4 элементов массива
listBox1.Items.Add(fairytales[j]); //добавим каждый элемент массива в список listbox
5.Запустите проект
6.Проверьте работоспособность проекта. Если требуется, выполните отладку.
7. Измените проект для ввода 5 строчных элементов массива.
8.Проверьте работоспособность проекта. Если требуется, выполните отладку.
9.Измените проект для ввода и вывода 5 целых чисел.
10.Проверьте работоспособность проекта. Если требуется, выполните отладку.
11.Измените проект для ввода и вывода 5 вещественных чисел.
12.Проверьте работоспособность проекта. Если требуется, выполните отладку.
(Высокий уровень)
13.Добавьте возможность ввода количества элементов и используйте это количество для ввода и вывода элементов.
Заполните список WPF массивом строк
Вместо того, чтобы добавлять каждый элемент по одному в ListBox destinationList из массива строк m_List как это:
Есть ли лучший способ сделать это?
Я не хочу привязывать данные к destinationList, так как позже я хочу удалить некоторые записи из ListBox.
кроме приведения строк, я не нахожу ничего плохого в приведенном выше коде, если привязка не является вашим вариантом. Но я бы порекомендовал вам привязать список к своей коллекции (лучше было бы ObservableCollection). Даже если есть что-то получше, в конечном итоге оно будет проходить через вашу коллекцию. Если вы собираетесь использовать его часто, вы можете написать для этого метод, отправив свой список в качестве параметра. — Amsakanna
Я не хочу его связывать, так как позже я хочу удалить из него несколько элементов. — Archie
Как вы думаете, почему нельзя удалить предметы, если они связаны? — Amsakanna
На самом деле я пробовал использовать ItemsSource. У меня есть древовидное представление с флажками, выбранные элементы которых будут попадать в destinationList. Таким образом, если отмечен, он должен быть добавлен, а при снятом флажке он должен быть удален. поэтому, если я удалю все и снова попытаюсь добавить, щелкнув головной узел, он покажет ошибку, поскольку операция недействительна, пока используется ItemsSource. Вместо этого получайте доступ и изменяйте элементы с помощью ItemsControl.ItemsSource. — Archie
Для этого вы можете добавлять / удалять элементы или очищать всю коллекцию ObservableCollection, привязанную к ListBox, вместо использования массива. — Amsakanna