c # winForms Вывод в текстовый файл - PullRequest
3 голосов
/ 25 декабря 2010

Я использую C # windows Forms в visual studio 2010.

Мне нужно знать, как лучше всего выводить данные, выбранные в winForm, в простой текстовый файл?

Пример:

Пользователь должен выбрать время / дату. как только пользователь выбирает его, он нажимает кнопку подтверждения.

Мне нужна кнопка подтверждения в WinForm для отправки даты / времени в текстовый файл, который сохраняется на компьютере в указанном месте.

любая помощь в этой области будет высоко ценится!

Ответы [ 2 ]

5 голосов
/ 25 декабря 2010

Использование System.IO.StreamWriter.

Как пример:

System.IO.StreamWriter writer = new System.IO.StreamWriter("path to file"); //open the file for writing.
writer.Write(DateTime.Now.ToString()); //write the current date to the file. change this with your date or something.
writer.Close(); //remember to close the file again.
writer.Dispose(); //remember to dispose it from the memory.

Если у вас есть проблемы с записью в файл, это может быть связано с тем, что UAC (контроль учетных записей) блокирует доступ к этому конкретному файлу. Типичный обходной путь - запуск программы от имени администратора, чтобы этого не происходило, но я считаю, что это довольно плохое решение.

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

Поэтому я предлагаю использовать папку Local Application Data (найдена, если вы введете% localappdata% в поле поиска меню «Пуск»). Эта папка не заблокирована UAC и не требует прав администратора для записи. Это действительно предназначено именно для этой цели; хранение настроек и данных.

Путь к этому каталогу можно вернуть с помощью:

string path = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

Надеюсь, это ответит на ваш вопрос.

2 голосов
/ 25 декабря 2010

Как насчет ...

String YourFormattedText = FieldFromForm.ToString( whatever formatting );
File.WriteAllText( FullPathAndFileNameToWriteTo, YourFormattedText );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...