Как вывести массив в listbox c
Перейти к содержимому

Как вывести массив в listbox c

  • автор:

Вывод массива в ListBox

Как сделать так, чтобы значения Items у ListBox заполнялись из массива?

Ответы (2 шт):

Можно воспользоваться методом AddRange, как пример:

Так вот сразу можно заполнить, если надо (сразу в листе):

Если не получится, то перебрать массив через цикл и добавить в лист:

Используйте свойство ListBox.DataSource для отображения элементов, и BindingList<T> вместо массива, если хотите чтобы изменения отображались в ListBox без дополнительного шаманства.

Теперь любые строки добавленные в source будут добавлены и в ListBox . Если в массив состоит из составных объектов или структур, можно указать значение какого свойства должно быть выведено с помощью свойства ListBox.DisplayMember .

Можно конечно и так:

Только в этом случае для отображения изменений придется делать что-то такое:

Вывод массива в ListBox

Как сделать так, чтобы значения Items у ListBox заполнялись из массива?

Можно воспользоваться методом AddRange, как пример:

Так вот сразу можно заполнить, если надо (сразу в листе):

Если не получится, то перебрать массив через цикл и добавить в лист:

Алексей Шиманский's user avatar

Используйте свойство 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *