Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Palovche
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 67
1

ListView должен заполняться именами файлов, лежащих в директории "Saves"

13.10.2014, 20:30. Просмотров 295. Ответов 1
Метки нет (Все метки)

Доброго времени суток!
Столкнулся со следующей проблемой: listView должен заполняться именами файлов, лежащих в директории "Saves"
при каждом открытии/активации формы, на которой он расположен, при этом предусмотрена возможность добавления файлов в директорию - для этого, по нажатию соответствующей кнопки, открывается форма, при помощи которой производится создание файла, по окончании которого, она закрывается и открывает форму с нашим listView, при этом вызывается приведённая ниже функция, но в listView появляются только те файлы, которые были в директории до добавления нового файла. Хотелось бы испросить у уважаемых формчан совета по преодолению сией оказии.
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
private void listViewerFill()
        {
            if (Directory.Exists(Directory.GetCurrentDirectory() + @"\Saves"))
            {
                string[] saveFileNames = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\Saves", "*.txt");
                for (int i = 0; i < saveFileNames.GetLength(0); i++)
                {
                    Program.SaveFiles.Add(new SaveFile() { fileName = saveFileNames[i], creationDate = File.GetCreationTime(saveFileNames[i]) });
                }
                ListViewItem FileName = new ListViewItem();
                ListViewItem CreationTime = new ListViewItem();
                foreach (var file in Program.SaveFiles)
                {
                    string FN = file.fileName;
                    FileName.Text = FN.Replace(Directory.GetCurrentDirectory() + @"\Saves\", "");
                    FileName.SubItems.Add(file.creationDate.ToString());                   
                }                
                listView1.Items.Add(FileName);
 
                StringBuilder sb = new StringBuilder();
 
                using (StreamWriter sw = new StreamWriter("saves.txt"))
                {
                    string serializer = "";
                    foreach (var file in Program.SaveFiles)
                    {
                        serializer = file.fileName + " " + file.creationDate.ToString();
                        sb.AppendLine(serializer);
                    }
                    sw.Write(sb);
                }
            }
            else
            {
                Directory.CreateDirectory(Directory.GetCurrentDirectory() + @"\Saves");
            }
        }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2014, 20:30
Ответы с готовыми решениями:

Удаление файлов в listview с "неполными" путями
Добрый день всем.Заинтересовал такой вопрос. С помощью данного кода: ...

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

Как при помощи DragEndDrop "перетаскивать" файли из listview"
Добрый день! Не могли бы вы подсказать мне в следующем вопросе: У меня есть...

Вывод списка файлов из директории в ListView
Нужно что бы при нажатие кнопки открывалось окно с выбором папки. После выбора...

Нужно исправить ошибку "имена членов не могут совпадать с именами типов, в которых они содержатся"
Здравствуйте. Помогите пожалуйста исправить &quot;Ошибка: &quot;treeView1_AfterSelect&quot;:...

1
nedel
616 / 605 / 358
Регистрация: 09.04.2014
Сообщений: 1,440
Завершенные тесты: 1
13.10.2014, 22:44 2
попробуйте так
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
private void listViewerFill()
        {
            string path = Directory.GetCurrentDirectory() + @"\Saves";
            if (Directory.Exists(path))
            {
                DirectoryInfo dir_info = new DirectoryInfo(path);
                StringBuilder sb = new StringBuilder();
 
                Program.SaveFiles.Clear();
                listView1.BeginUpdate();
                listView1.Items.Clear();
 
                foreach (FileInfo item in dir_info.EnumerateFiles("*.txt"))
                {
                    Program.SaveFiles.Add(new SaveFile() { fileName = item.FullName, creationDate = item.CreationTime });
                    ListViewItem FileName = new ListViewItem(item.Name);
                    FileName.SubItems.Add(item.CreationTime.ToString());
                    listView1.Items.Add(FileName);
                    sb.AppendLine(string.Format("{0} {1}", item.FullName, item.CreationTime));
                }
                listView1.EndUpdate();
 
                using (StreamWriter sw = new StreamWriter("saves.txt"))
                {
                    sw.Write(sb);
                }
            }
            else
            {
                Directory.CreateDirectory(path);
            }
        }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2014, 22:44

Куда "воткнуть" код, который должен исполняться постоянно?
Привет всем! Куда &quot;воткнуть&quot; код, который должен исполняться постоянно....

Ошибка "URL должен содержать токен!" при авторизации. VKNET
Уже давно обращаюсь к этому сайту по многим вопросам с программированием, но...

В программе должен быть создан всего лишь один объект "Игра" на все 10 одновременно ведущихся игр
Доброго времени суток. На екзамен очень нужна прога. Задание такое: ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru