Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106

Создание списка недавно открытых документов собственного приложения

06.02.2012, 17:56. Показов 4033. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Возник еще один вопрос. Как реализовать список недавно открытых документов своего приложения? Например, моя программа работает с .txt документами. Как сделать так, чтобы в меню File отображался список 10 последних открытых именно в мое приложении .txt документов?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2012, 17:56
Ответы с готовыми решениями:

Программное сохранение всех открытых в системе документов
Нужно перед снятием процесса string name = "WINWORD"; System.Diagnostics.Process etc =...

Проблема с проводником: нету списка недавно открытых программ и ссылок папки
Подскажите пожалуйста. Нажимаю "правой клавишей" на иконку проводника на "панели задач" около кнопки "Пуск". Выпадает...

очистка списка недавно использовавшихся документов
Ув. программисты как можно очистить программно список недавно использовавшихся документов?

11
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
06.02.2012, 18:14
Записывай пути к открываемым файлам в текстовик, и потом выводи пункты с адресами этих файлов в меню.
0
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
06.02.2012, 18:20  [ТС]
P.S. Если не сложно, приведите пожалуйста пример с кодом.

DimanRu, а еще есть варианты? Без использования сторонних файлов?
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
06.02.2012, 18:28
Можно записывать в реестр или на сервер, но обычный текстовик - простейший способ))
Если вас смущает его просмотр пользователем - можно сделать его бинарным, и он будет практически нечетаем и не редактируем, можно вообще своими руками зашифровать.

Добавлено через 4 минуты
Вот пример:

Записываем при открытии файла:
C#
1
2
3
4
5
6
7
public void SaveLaterFile(string path)
{
   //Тут записываем в файл путь к открытому файлу
 
  //Не обязательно:
  //Если в файле 5(10) строчек можно удалять последнюю, что бы не загромождать файл
}
Читаем при запуске программы:
C#
1
2
3
4
public void LaterFiles()
{
  //Тут читаем файл построчно и выводим соответствущие пункты меню
}
Я написал что необязательно очищать, несовсем так... очищать нужно, иначе когда-нибудь памяти не хватит чтобы его загрузить)
0
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
06.02.2012, 20:35  [ТС]
DimanRu? спасибо за ответ)) Вот только не понимаю каким образом удалять 11 строку из файла и как считывать из него, при это записывая в пункт меню - не разберусь как реализовать механизм добавления пути и имени файла в меню.

Можно записывать в реестр
а каким образом это реализовать можно?
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
06.02.2012, 20:54
Насчет реестра незнаю, нужно добавить туда запись с путями, создай отдельную тему по этому поводу если нужно.

Про 11 строку тоже сейчас не скажу, засыпаю, завтра разберусь с этим.

Теперь по чтению, собственно читаем:
C#
1
2
3
4
5
6
7
8
using (StreamReader = strRd = new StreamReader(path))
{
   for(int i = 0; i < количество_строк; i++) //Вроде так, как строки посчитать непомню
   {
      string s = strRd.ReadLine();
      MenuPointAdd(s, i); //Вызываем метод добавляющий строку
   }
}
Теперь добавляем:
C#
1
2
3
4
5
void MenuPointAdd(string path, int i);
{
  //Тут добавляем пункт меню и приписываем ему обработчик события, как-то так)))
  menuItem1.MenuItems.Add(path, new EventHandler(mainMenu1_path + i + _Select));
}
И потом в обработчике события пункта меню прописываем открытие файла:
C#
1
2
3
4
void mainMenu1_path1_Select(object sender, System.EventArgs e)
{
   //Тут открываем файл по имени пункта
}

Не по теме:

Заранее извиняюсь за ошибки, голова не варит уже)))

1
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
07.02.2012, 10:23  [ТС]
У кого-нибудь еще есть идеи? Повторюсь, желательно примеры с кодом. Заранее всем спасибо.

P.S. В идеале, конечно, проверенный, работающий код.

Добавлено через 12 часов 46 минут
Неужели ни у кого нет мыслей по этому поводу?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
07.02.2012, 12:54
Цитата Сообщение от pir Посмотреть сообщение
Неужели ни у кого нет мыслей по этому поводу?
Так вам же написали о двух самых распространенных способах.
Хранение недавно открытых файлов - рекомендуемый майкрософтом способ.

Можете глянуть пример, где он реализуется (правда не знаю - через реестр или как-то еще).
1
20 / 20 / 2
Регистрация: 26.01.2010
Сообщений: 106
07.02.2012, 13:24  [ТС]
Спасибо, kolorotur. Пример очень помог.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
07.02.2012, 13:36
Цитата Сообщение от kolorotur Посмотреть сообщение
Хранение недавно открытых файлов - рекомендуемый майкрософтом способ.
Забыл дописать: "в реестре".
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
07.02.2012, 14:18
Цитата Сообщение от kolorotur Посмотреть сообщение
Забыл дописать: "в реестре".
Хм, а это они про .net говорили? а давно ли такое советовали не подскажите?
Я вот думаю раз у нас .net то и все настройки лучше хранить в стандартных .net-properties файлах
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
07.02.2012, 14:36
Цитата Сообщение от turbanoff Посмотреть сообщение
а давно ли такое советовали не подскажите?
Честно сказать - давно. Если быть точным, то на тренинге 2006 (кажется) года.
Рекомендовали хранить настройки в файлах, а состояние приложения - в реестре.

Не исключено, что на данный момент эта информация является устаревшей. Надо почитать msdn, может там уже другие гайдлайны подогнали...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2012, 14:36
Помогаю со студенческими работами здесь

Создание приложения на основе открытых исходников
Всем Здравствуйте!) Я хочу создать приложение - справочник, и чтобы не писать все коды с нуля, хотел бы использовать код данного приложения...

Создание списка объектов собственного класса (SQL)
очень нужно! объясните, пожалуйста, доходчиво, а лучше с примером, как создать список из объектов класса, к примеру, &quot;human&quot;,...

Панель ярлыков открытых Word-овских документов
Доброе время суток! У меня в Office 2010 в Wordе в &quot;старой установке&quot; ниже ленты инструментов была панель ярлыков открытых Word-овских...

Макрос для всех открытых документов ms word
Добрый день. Необходимо написать макрос, который будет устанавливать переплет во всех открытых документах. Собственно сам макрос...

Как одновременно сохранить несколько открытых документов?
Добрый день! Столкнулась с такой проблемой: при закрытии на рабочем столе порядка 20 документов с помощью Excel 2010 сообщение...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru