C#更改下次程序运行的文件位置

时间:2015-02-04 18:34:49

标签: c# runtime savechanges

我对C#比较陌生,但我对高中和大学课程的代码有一些基础知识。但是,有一件事我多年来都无法弄清楚。我目前正在为使用 Visual Studios 2010 在List中存储信息的数据库系统制作表单应用程序

在我的主要表格上;按下保存按钮后,信息将被序列化为XML文件。加载信息后,信息将被反序列化并放入列表中以便在代码中使用。 这一切都正常。

此保存和加载过程基于包含文件路径的字符串完成。此字符串是我桌面上文件夹的位置(我将其放在那里以便于访问),以及我能够更改代码中的字符串,基本上移动信息的存储位置。

但是,我有一个单独的“Admin”表单,可以更改此文件路径字符串。当用户单击按钮更改文件路径时,我从文本框中获取输入,检查其格式,将当前文件移动到新位置并更新保存方法的位置,以便在程序之前保存更改关闭。从那里,程序的反应方式与我从代码中更改字符串的方式相同。

关闭程序时出现问题。我不知道如何告诉程序再次运行该位置已从默认位置更改并在新位置查找该文件。当程序在默认位置查找时,程序就像文件丢失一样(就像它应该的那样)。

所以基本上,如何告诉程序保存位置从上次运行时更改,以便知道从新位置加载信息?

我从高中(约2年前)开始尝试寻找答案并且没有找到解决方案。因此,我通常只将保存位置保留为默认位置(我将其设置为)并且不要尝试更改它。但这一次,重要的是可以定制保存位置。我对Visual Studios的体验是有限的,因为我所知道的只是搞乱程序并在需要时查找内容。

如果需要,我可以发布我的代码片段。 提前谢谢!

2 个答案:

答案 0 :(得分:0)

我建议使用.exe所在的配置文件,并在那里写入位置,然后在程序启动时读取它。

特别是.net提供了这个可以为你管理配置文件的类(假设你的解决方案中有app.config,否则创建一个)

https://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings(v=vs.110).aspx

答案 1 :(得分:0)

您真正想要的是保存一些用户定义的设置以便在运行时调用。这是一个MSDN链接,描述了存储/检索这些设置的一些基本约定。

https://msdn.microsoft.com/en-us/library/bb397750(v=vs.110).aspx

A * .config文件就足够了(取决于应用程序的规模)。

否则,您可能希望沿着将这些设置存储在数据库中的路线(如果规模相当大,或者如果应用程序需要用户身份验证)。

以下是处理同一主题的另一个问题(关于App.config文件)What is App.config in C#.NET? How to use it?