【发布时间】:2016-03-12 21:06:26
【问题描述】:
我尝试在我的应用程序上保存用户设置属性,只要我从同一目录运行程序,它就会更新和工作,但是当我只是更改它的位置时,似乎属性重置了。 这是我的代码:
static void Main(string[] args)
{
string user = Properties.Settings.Default.username;
string pass = Properties.Settings.Default.password;
Console.WriteLine(user);
if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(pass))
{
Console.WriteLine("Welcome to KeepOnGoing , lets sign-up.");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Remember,you may sign up only once! Once you'll sign up you get a unique account which cannot be made again!");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Enter your new username : ");
user = Console.ReadLine();
Console.WriteLine("Enter your new Password : ");
pass = Console.ReadLine();
Properties.Settings.Default.username = user;
Properties.Settings.Default.password = pass;
Properties.Settings.Default.Save();
}
}
如您所见,我创建了一个if 条件来检查用户是否第一次填写数据,否则我将不得不向他显示注册部分。
如何防止属性重置并使其在整个计算机目录中通用?
谢谢。
【问题讨论】:
-
您是否尝试从 ProgramData/
保存/加载设置? -
@Uzzy 从程序数据加载设置是什么意思?
-
决定设置文件位置的部分原因是应用程序的路径。您可以手动保存到 Users/AppData 中的文件,以便每个用户拥有一个文件,但他们可以删除它以重新开始
-
@Slashy 您使用 .exe 文件附近的位置。如果您将保存/加载到像 ProgramData/
这样的公共位置,那么您将解决问题。例如,参见 System.Environment.SpecialFolder.CommonApplicationData msdn.microsoft.com/en-us/library/… -
@Uzzy 好吧,所以您的意思是将用户设置保存到一个特殊文件夹?例如桌面?如果是,如何更改属性位置?如何每次从该特定位置加载它?
标签: c# properties io