Как сохранить listbox в файл c
Перейти к содержимому

Как сохранить listbox в файл c

  • автор:

Сохранить данные из ListBox в файл и загрузить обратно

Как правильно сохранить данные из listbox в формат.txt?
Как загрузить данные из файла в listbox?

Лучшие ответы ( 1 )

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

Ответы с готовыми решениями:

Сохранить пиксели в файл и потом загрузить обратно
Написана программа для рисования, мне нужно сохранить картинку в файл, затем по нажатию другой.

Сохранить содержимое ListBox в файл и прочитать обратно
Как сделать что бы при нажатии на кнопку в лист бокс записывался текст из текстбокс.И сохранялось.

Как сохранить данные из listbox в файл
Здравствуйте, нигде не могу найти как сохранить данные из listbox в txt файл в pascal abc.net?

Как сохранить данные ListBox в файл?
Если с TextBox все легко, Open "c:\count.xml" For Output As #1 Print #1, TextBox1.Text .

157 / 156 / 104

Регистрация: 01.10.2015

Сообщений: 310

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

Markkk, пример сохранения строк из ListBox в файл:

1 2 3 4 5 6 7 8
private void button1_Click(object sender, EventArgs e) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\название_файла.txt")) { for (int i = 0; i  listBox1.Items.Count; i++) sw.WriteLine(listBox1.Items[i].ToString()); } }

Пример загрузки строк из файла в ListBox:

1 2 3 4 5 6 7 8 9 10 11
private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); using (System.IO.StreamReader sr = new System.IO.StreamReader("C:\\название_файла.txt")) { while(!sr.EndOfStream) { listBox1.Items.Add(sr.ReadLine()); } } }

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

Помогаю со студенческими работами здесь

Сохранить информацию с ListView, потом загрузить обратно
Здравствуйте! Помогите пожалуйста, я перечитал кучу колов, но ничего нормально и конкурентного так.

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

Как сохранить listbox в файл c

На этом шаге мы рассмотрим назначение и использование этого компонента .

Компонент находится в списке All Windows Forms ( Все формы Windows Forms) палитры компонентов. С помощью этого компонента можно сохранять файл в нужном месте файловой структуры (так же как это делается в Windows ). Но файл сам по себе не сохраняется, т. к. компонент дает только путь к будущему месту расположения файла. На пользователе лежит обязанность самому написать участок программы для сохранения файла. Как и в OpenFileDialog , в этом компоненте применяется метод ShowDialog() для открытия диалогового окна в режме исполнения. Файл можно открыть в режиме чтения/записи, используя метод OpenFile() .

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

Перечень свойств SaveFileDialog приведен на рисунке 1.

Рис.1. Свойства компонента SaveFileDialog

Почти все свойства компонента совпадают со свойствами OpenFileDialog . Отметим только свойство OverwritePrompt , которое (если оно установлено в True ), вызывает появление диалогового окна Save As ( Сохранить как ) .

Когда пользователь выбирает имя файла и нажимает на кнопку Save ( Сохранить ) в диалоговом окне, метод ShowDialog() заносит в свойство FileName компонента имя файла и путь к нему. Никакой перезаписи файла при этом не происходит. Отсюда следует, что для записи файла в необходимое место файловой структуры нужно применять методы сохранения файла. Приведем пример приложения, которое читает строковый файл (текстовый файл в кодировке UTF-8 , в котором каждая строка отделена от другой символом «/») и переписывает в другое место под именем, которое мы выбираем в диалоговом окне. Затем файл с целью проверки читается в другое окно. Вид формы приложения в режиме дизайна и исполнения показан на рисунке 2, в режиме выполнения — на рисунке 3. Текст заголовочного файла представлен ниже.

#pragma once namespace My191_1 < using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; //для ввода/вывода using namespace System::Text; . . . . . . private: /// /// Требуется переменная конструктора. // =========================================== void LoadFromFile(String^ File, ListBox^ lb) < // Этот метод открывает текстовый файл, // читает все его строки в // строку String^ и закрывает файл. // Строки должны отделяться // друг от друга разделителем "/" String^ d, ^b = File::ReadAllText(File); //(надо будет выделять по разделителю "/") lb->Items->Clear(); // Разборка длинной строки на строки, отделенные // друг от друга разделителями // Поиск 1-го вхождения подстроки в строку int i = b->IndexOf("/"); while ( i != -1 ) < d = b->Substring(0, i); lb->Items->Add(d); b = b->Substring( i + 1, b->Length - d->Length - 1); i = b->IndexOf("/"); > > // ------------------------------------------- void SaveToFile(String^ File, ListBox^ lb) < String^ a, ^b; int j = lb->Items->Count; File::Delete(File); for( int i = 0; i < j; i++ ) < // Чтение строк ChekedListBox в а и // формирование длинной строки в b a = lb->Items[i]->ToString(); //добавка разделителя строк b += a->Concat(a,"/"); // Этот метод открьшает файл, добавляет к нему строку // типа String^, закрывает файл. Если файл не // существует, он создается > //for File::AppendAllText(File, b); > // =========================================== ///  System::ComponentModel::Container ^components; . . . . . . // Кнопка "Выход" private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) < Close(); >// Кнопка "Копировать" private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) < // ShowDialog() возвращает имя файла в FileName openFileDialog1->ShowDialog(); String ^a = openFileDialog1->FileName; LoadFromFile(a, listBox1); //Загрузка файла в ListBox1 // Выбор имени и пути для выходного файла // с помощью SaveFileDialog // Имя файла будет в FileName saveFileDialog1->ShowDialog(); a = saveFileDialog1->FileName; //сохранение файла из Listbox1 SaveToFile(a, listBox1); //чтение сохраненного файла в ListBox2 openFileDialog1->ShowDialog(); a=openFileDialog1->FileName; LoadFromFile(a, listBox2); >

Архив проекта вместе с файлом примера можно взять здесь.

Рис.3. Результат работы приложения

На следующем шаге мы рассмотрим компонент ColorDialog .

Как сохранить listbox в файл c

В строке (Collection) следует нажать маленькую кнопку справа и в появившемся редакторе списка ввести строки как показано на рисунке:

В итоге получится список выбора в listBox1. Следующим шагом следует создать событие по вставке выбранной строки из списка в текстовый редактор textBox1.
Событие будет происходить по двойному щелчку мышки на выбранной строке в listBox1. Для создания события следует переключиться на раздел Events и в строке ввода напротив события DoubleClick, двойным щелчком мыши создать событие listBox1_DoubleClick.

private void listBox1_DoubleClick(object sender, EventArgs e)
textBox1.Text += listBox1.SelectedItem.ToString();
>

Строку textBox1.Text += listBox1.SelectedItem.ToString(); дописываем самостоятельно. Значок += означает, что текст в textBox1 следует увеличить на выбранную сторку из listBox1.
Запустим полученное приложение и попробуем написать страничку на HTML.
Сначала вставим двойным щелчком необходимые тэги:

А затем, допишем содержание странички и параметры тэгов. Например, как показано на рисунке.

Нажав на кнопку сохранить, сохраним наш текст на диске, например С, с именем test. Переключимся в Windows и на диске С найдём наш файл.

Значок нашего файла принял форму WEB браузера установленного на компьютере по умолчанию. Запустим этот файл и убедимся, что у нас всё получилось.

Так, как статья посвящена объекту listBox, рассмотрим, что ещё может этот объект.
У объекта listBox есть методы, которые позволяют манипулировать элементами (Items) списка:
Add — Добавление элемента (строки) в список;
RemoveAt — Удаляет элемент списка;
Clear — Очищает список.
Добавим на нашу форму ещё объекты Button4, Button5 и textBox2, как показано на рисунке:

В элемент textBox2 будем вводить новые тэги, и добавлять их в список при нажатии кнопки Button4. Кнопкой Button5 будем наоборот удалять ненужные тэги из списка. На кнопках следует создать соответствующие надписи. Двойным щелчком мыши создадим событие на нажатие кнопки Button4 (добавить).

private void button4_Click(object sender, EventArgs e)
// Методом Add добавляем в список текст из textBox2
listBox1.Items.Add(textBox2.Text);
// Очищаем от текста строку ввода
textBox2.Text = «»;
>

Убедимся, что кнопка «Добавить» работает.

Для удаления ошибочно введённых или не нужных тэгов задействуем кнопку «Удалить». Создадим для неё событие:

private void button5_Click(object sender, EventArgs e)
// Проверяем, есть ли в списке выделенная строка
if (listBox1.SelectedIndex == -1)
// Если нет, то выводим сообщение.
MessageBox.Show(«Нет выделенной строки»); else
// Иначе .. Удаляем выделенную строку
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
>

Очевидно, что манипулируя со списком тэгов мы не можем сохранить их для следующей сессии работы с нашим блокнотом, так как список после закрытия программы не сохраняется.
Задействуем кнопку Button1 для сохранения списка в файле. Сделаем на ней надпись «Сохранить». Будем сохранять список в файле с именем tags.txt имя файла и расширение не имеют особого значения. Сам файл поместим на диск С, но можно поместить на любой другой диск и в любую папку, например с нашим проектом. Создадим событие на нажатие кнопки:

private void button1_Click(object sender, EventArgs e)
// Создаём переменную sw для записи данных в поток (файл) с именем C:\\tags.txt
using (StreamWriter sw = new StreamWriter(«C:\\tags.txt»))
// Первой строкой записываем в файл число строк в нашем списке
sw.WriteLine(listBox1.Items.Count.ToString());
// В цикле записываем все строки в файл.
// Первая строка в списке имеет индекс 0
// Count — число строк в списке
for (int j = 0; j < listBox1.Items.Count; j++)
sw.WriteLine(listBox1.Items[j]);
>
>

Запустим приложение и нажмём кнопку «Сохранить». Переключимся в Windows И в проводнике найдём наш файл tags.txt. Откроем его и убедимся, что все строки записались.

И, наконец, следует создать событие, которое будет загружать сохранённый файл в список тэгов. Создадим ещё одну кнопку Button6 и озаглавим её «Загрузить». Создадим для неё событие нажатия кнопки:

private void button6_Click(object sender, EventArgs e)
// Очищаем список от содержимого
listBox1.Items.Clear();
// Создаём переменную reader для чтения из потока (файла C:\\tags.txt)
using (StreamReader reader = new StreamReader(«C:\\tags.txt»))
// Считываем первую строку чтобы получить число строк в списке
string z = reader.ReadLine();
//В цикле считываем остальные строки из файла в список тэгов
for (int j = 0; j < Convert.ToDouble(z); j++)
listBox1.Items.Add(reader.ReadLine());
>

Запустим программу попробуем пополнить список тэгов, затем сохранить его. После чего закрыть программу, вновь открыть и загрузить соранённый список тэгов.

©Гуков Константин Михайлович 2006 — 2012 Почта: [email protected]

Статья Как очистить listbox в C#

Небольшая заметка, в которой хочу показать, как очистить listBox. Задача встречается довольно часто и имеет очень простое решение. И так для начала создадим небольшое Windows Forms приложение, после чего поместим на форму: элемент управления listBox и кнопку, при нажатии на которую будет выполняться очистка. Каркас готов и теперь можно добавить несколько любых записей.

27260

Когда Вы добавляете новую запись в listBox, она автоматически попадает в коллекции объектов Items, где хранится на протяжении всего жизненного цикла Вашего приложения. Поэтому, для того чтобы очистить listBox, необходимо просто удалить все элементы, которые содержатся внутри данной коллекции. Например, это можно сделать с помощью метода Clear.

private void button1_Click(object sender, EventArgs e)

27261

  • Доступно обновление: Visual Studio 2013 Update 2 RC
  • Нахождение максимального элемента массива
  • Добавление строки в Excel файл

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

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