JDMCODEBLOX Ответов: 2

Как сохранить текст в текстовом поле, которое не будет удаляться при сбое программы?


Привет ребята
у меня есть приложение на языке c#, которое требует, чтобы пользователь вводил свое имя при первом запуске программы. Мы хотим сохранить это имя пользователя всегда, пока он не решит удалить программу. Я хочу сделать так, чтобы он сохранил его, потому что есть возможность отправить файл журнала разработчикам, и мы должны знать, от кого он пришел.Я использую winforms.

Что я уже пробовал:

я попытался сохранить его в файле, который читает текст, и если он отличается, он сохраняет его, но не сохраняет, если программа закрывается visual studio.

F-ES Sitecore

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

2 Ответов

Рейтинг:
6

RmcbainTheThird

Как я читал, реальная проблема заключается в том, что вы хотите отправить имя пользователя с журналом ошибок разработчикам. Лучший подход заключается в том, чтобы захватить их логин вместо того, чтобы вводить какой-то текст, а затем сохранять его. вы можете получить их логин из среды.имя пользователя.

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


JDMCODEBLOX

большое спасибо это то что я искал

Рейтинг:
14

OriginalGriff

Самый простой способ-когда пользователь вводит его, сохранить его в настройках приложения:
1) в области решения откройте ветвь проекта.
2) Откройте веточку свойств и дважды нажмите кнопку "Настройки".Настройки"
3) на странице, которая отображается:
3.1) В разделе "Имя" введите "имя пользователя"
3.2) В разделе "Тип" выберите "строка"
3.3) В разделе "область применения" выберите "пользователь"
3.4) В разделе "Значение" оставьте его пустым.
4) закройте страницу и сохраните изменения.
5) Теперь в вашем коде при запуске сделайте следующее:

string userName = Properties.Settings.Default.UserName;
if (string.IsNullOrWhiteSpace(userName))
    {
    ... Insert your code to get the user name ...
    Properties.Settings.Default.UserName = userName;
    Properties.Settings.Default.Save();
    }


JDMCODEBLOX

это также помогло я попробовал его в обоих направлениях и после работы с моим кодом он работает замечательно
Спасибо На Миллион!!!

OriginalGriff

Всегда пожалуйста!