С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277

Загрузить информацию из txt в ListView

03.11.2014, 18:37. Показов 3778. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно сабж нужно загрузить данные из блоктнота в листвью
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 private void AddContactList_Click(object sender, EventArgs e)
        {
            listView2.Items.Clear();
            openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
 
                    listView2.Items.Add(File.ReadAllText(openFileDialog1.FileName, Encoding.Default));
 
                listView2.Sorting = SortOrder.Ascending;
            }
 
        }
Что делаю не так ? У меня загрузается все одним большим куском, нужно чтобы каждое слово с новой строки для последующей работы в цикле
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2014, 18:37
Ответы с готовыми решениями:

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

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

Как загрузить текст из "txt" файла в "listView" построчно?
Как загрузить текст из "txt" файла в "listView" построчно? Этот код: string strAllLines =...

16
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 18:41
inject, попробуйте так
C#
1
listView2.Items.AddRange(File.ReadAllLines(openFileDialog1.FileName, Encoding.Default));
0
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 18:58  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
попробуйте так
Ошибку выдает
Ошибка 1 Наиболее подходящий перегруженный метод для "System.Windows.Forms.ListView.ListViewI temCollection.AddRange(System.Windows.Fo rms.ListViewItem[])" имеет несколько недопустимых аргументов
Ошибка 2 Аргумент "1": преобразование типа из "string[]" в "System.Windows.Forms.ListViewItem[]" невозможно
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 19:05
inject, тогда как-то так)))
C#
1
2
3
string[] items = { "One", "Two", "Three", "Four" };
ListViewItem[] lvItems = items.Select(i => new ListViewItem(i)).ToArray();
listView1.Items.AddRange(lvItems);
0
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 19:07  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
тогда как-то так)))
Блин слишком сложно ) Ни че понять не могу. Создали масив, вот только зачем он нам если мы еще не загрузили ни чего ? А дальше еще сложнее
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 19:12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void AddContactList_Click(object sender, EventArgs e)
        {
            listView2.Items.Clear();
            openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                    string[] lines = (File.ReadAllLines(openFileDialog1.FileName, Encoding.Default));
                    ListViewItem[] lvItems = lines.Select(i => new ListViewItem(i)).ToArray();
                    listView2.Items.AddRange(lvItems);
 
                listView2.Sorting = SortOrder.Ascending;
            }
 
        }
Добавлено через 1 минуту
Цитата Сообщение от inject Посмотреть сообщение
зачем он нам если мы еще не загрузили ни чего ?
Это же просто пример, вы можете его изменить. Я переделал ваш код из первого поста, попробуйте.
0
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 19:20  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Это же просто пример, вы можете его изменить. Я переделал ваш код из первого поста, попробуйте.
Не хватило ума переделать. Уже лучше, но записывает данные в строку пока не закончиться граница листвью, а не с новой строчки
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 19:36
inject, если у вас много элементов-то тогда делить их на группы и так же вставлять в листвью.
0
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 19:41  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
если у вас много элементов-то тогда делить их на группы и так же вставлять в листвью.
Нет элементов не много и в блокноте все с новой строки записано. Можно тоже саое сделать и с текстбоксом, но там в цекле не построчно берет, а все целиком
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 private List<string> ContactList = new List<string>();
 private void AddContactList_Click(object sender, EventArgs e)
        {
      
            listView2.Items.Clear();
            openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                 textBox5.Text = File.ReadAllText(openFileDialog1.FileName, Encoding.Default);
            }
        }
 
        private void AddContackSkype_Click(object sender, EventArgs e)
        {
            ContactList.Add(textBox5.Text);
            foreach (string a in ContactList)
            {
                skype.SendMessage(a, textBox6.Text);
            }
Что не так понять не могу (
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 19:42
inject, дайте образец файла, из которого считываете данные. Не хочется угадывать, что там и как...
0
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 19:45  [ТС]
Держите.

PHP
1
2
3
4
5
6
7
8
erdfg
vika
vika4
vika098
vika43
lovet
lovet1
lovet09
Вложения
Тип файла: txt SkypeContact.txt (59 байт, 7 просмотров)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 20:12
inject, это то что требуется?
Миниатюры
Загрузить информацию из txt в ListView  
1
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 20:33  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
это то что требуется?
Нет у меня так тоже выводит. Нужно
PHP
1
2
3
4
5
6
7
8
erdfg
vika
vika4
vika098
vika43
lovet
lovet1
lovet09
Каждый ник с новой строчки

Добавлено через 13 минут
Цитата Сообщение от insite2012 Посмотреть сообщение
это то что требуется?
Пробывал https://www.cyberforum.ru/csha... 33605.html с этой темы, но тоже не выходит
C#
1
listView2.Items.AddRange(new StreamReader(openFileDialog1.FileName, Encoding.Default).ReadToEnd().Split('\n'));
Может не так, что делаю ?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 20:49
inject, у ListView измените свойство View. К примеру, выберете SmallIcon.
1
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
03.11.2014, 21:01  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
у ListView измените свойство View. К примеру, выберете SmallIcon.
Если так, то все в одну строчку
C#
1
listView2.Items.Add(File.ReadAllText(openFileDialog1.FileName, Encoding.Default));
Если так, то ошибка
C#
1
listView2.Items.AddRange(new StreamReader(openFileDialog1.FileName, Encoding.Default).ReadToEnd().Split('\n'));
Ошибка 2 Аргумент "1": преобразование типа из "string[]" в "System.Windows.Forms.ListViewItem[]" невозможно
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.11.2014, 21:04
Лучший ответ Сообщение было отмечено inject как решение

Решение

inject, так надо?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
using System.IO;
 
namespace ListViewTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += new EventHandler(button1_Click);
        }
 
        void button1_Click(object sender, EventArgs e)
        {
            listView1.View = View.SmallIcon;
            using (OpenFileDialog dialog = new OpenFileDialog())
            {
                dialog.FileName = "";
                dialog.Filter = "txt files(*.txt)|*.txt";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    string[] lines = File.ReadAllLines(dialog.FileName);
                    foreach (string s in lines)
                        listView1.Items.Add(s);
                }
            }
        }
    }
}
2
2 / 2 / 2
Регистрация: 03.07.2014
Сообщений: 277
04.11.2014, 20:10  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
так надо?
Ага. Спасибо огромное

Добавлено через 22 часа 54 минуты
Цитата Сообщение от insite2012 Посмотреть сообщение
так надо?
Теперь возникла проблема, как пройдись циклом по списку загруженному

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void button8_Click(object sender, EventArgs e)
        {
            listView2.View = View.SmallIcon;
            using (OpenFileDialog dialog = new OpenFileDialog())
            {
                dialog.FileName = "";
                dialog.Filter = "txt files(*.txt)|*.txt";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    string[] lines = File.ReadAllLines(dialog.FileName);
                    foreach (string s in lines)
                        listView2.Items.Add(s);
                }
                ContactList.Add(listView2.Text);
            }
        }
 
        private void button9_Click(object sender, EventArgs e)
        {
            
            foreach (string message in listView2.Items)
            {
                try
                {
                    //listView2.Items.Add(message);
                    skype.SendMessage(message, textBox5.Text);
                    MessageBox.Show("Рассылка завершена успешно ");
                }
                catch (Exception exec)
                {
                    MessageBox.Show("Рассылка завершена успешно " + exec.Message);
                    throw;
                }
                
            }
        }
У меня критует сразу. Что не так делаю ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2014, 20:10
Помогаю со студенческими работами здесь

Отобразить в ListView подробную информацию об объекте, выбранном в другом ListView
Имеется класс Диск и класс Трек. Класс Диск содержит лист треков. На форме имеется 2 listView'а, в один listView пользователь добавляет...

Сохранение данных с ListView в .txt и загрузка с .txt
Сохранение данных с ListView в .txt и загрузка с .txt Помогите.

Из текстового файла input.txt с данными вывести информацию в файл output.txt по заданному условию
Дан текстовый файл input.txt содержащий в первой строке кол-во данных, в каждой следующей чередующиеся данные: фамилии и оценки за 3...

как перевести информацию из Мемо в фаил txt и обратно из txt в мемо
Подскажите пожалуйста, как перевести информацию из Мемо в фаил txt и обратно из txt в мемо для последующего редактирования. ...

Загрузить элементы в Listview
public class MainActivity extends ListActivity { TextView txt; MyTask mt; List&lt;String&gt; listz; @Override ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru