C#在应用程序中动态设置,然后持久保存
我正在寻找很多不同的方法来做到这一点,我不确定我应该走的方向 我有一个应用程序可以在几台个人电脑上运行。我正在寻找一种方法来保持应用程序设置的列表持久 其想法是,用户将能够从应用程序列表中进行选择。然后将保存这些应用程序,直到用户删除它们。我需要保存应用程序名和相应的路径C#在应用程序中动态设置,然后持久保存,c#,settings,C#,Settings,我正在寻找很多不同的方法来做到这一点,我不确定我应该走的方向 我有一个应用程序可以在几台个人电脑上运行。我正在寻找一种方法来保持应用程序设置的列表持久 其想法是,用户将能够从应用程序列表中进行选择。然后将保存这些应用程序,直到用户删除它们。我需要保存应用程序名和相应的路径 问题是,我似乎无法将键、值对保存到VisualStudio中的新设置中,并使它们保持不变。我需要写一个文件来保存文件,我该怎么做。。。我应该将它们写入system.configuration、JSON还是XML???有人有一个
问题是,我似乎无法将键、值对保存到VisualStudio中的新设置中,并使它们保持不变。我需要写一个文件来保存文件,我该怎么做。。。我应该将它们写入system.configuration、JSON还是XML???有人有一个好的演练吗?嗯,有很多方法可以做到这一点。对于一种简单的方法,可以使用XML序列化。首先创建一个表示要保存的所有设置的类,并向其添加Serializable属性,例如:
[Serializable]
public class AppSettings
{
public List<UserApp> Applications { get; set; }
}
[Serializable]
public class UserApp
{
public string Path { get; set; }
public string Name { get; set; }
}
然后,要保存,请执行以下操作:
AppSettings settings = new AppSettings();
settings.Applications = new List<UserApp>();
settings.Applications.Add(new UserApp { Path = @"C:\bla\foo.exe", Name = "foo" });
AppSettings.Save(settings);
您还可以编辑加载的设置并再次保存,以覆盖旧设置
要获得更复杂的方法,请保存到数据库中。好的,有很多方法可以做到这一点。对于一种简单的方法,可以使用XML序列化。首先创建一个表示要保存的所有设置的类,并向其添加Serializable属性,例如:
[Serializable]
public class AppSettings
{
public List<UserApp> Applications { get; set; }
}
[Serializable]
public class UserApp
{
public string Path { get; set; }
public string Name { get; set; }
}
然后,要保存,请执行以下操作:
AppSettings settings = new AppSettings();
settings.Applications = new List<UserApp>();
settings.Applications.Add(new UserApp { Path = @"C:\bla\foo.exe", Name = "foo" });
AppSettings.Save(settings);
您还可以编辑加载的设置并再次保存,以覆盖旧设置
要了解更复杂的方法,请保存到数据库中。使用以下屏幕截图中所示的说明将设置添加到设置中: 注意:双击第一个箭头所示的属性 然后您可以在运行时更新该值,如下所示:
namespace ConsoleApplication1
{
public class Program
{
public static void Main()
{
var defSettings = ConsoleApplication1.Properties.Settings.Default;
var props = defSettings.Test = "Whatever";
// Save it so it persists between application start-ups
defSettings.Save();
Console.Read();
}
}
}
设置将存储在中。使用以下屏幕截图中所示的说明将设置添加到设置中: 注意:双击第一个箭头所示的属性 然后您可以在运行时更新该值,如下所示:
namespace ConsoleApplication1
{
public class Program
{
public static void Main()
{
var defSettings = ConsoleApplication1.Properties.Settings.Default;
var props = defSettings.Test = "Whatever";
// Save it so it persists between application start-ups
defSettings.Save();
Console.Read();
}
}
}
设置将存储在。为了保持简单,我只需将包含一些JSON或XML的文本文件写入运行应用程序的计算机的驱动器。为了保持简单,我只需将包含一些JSON或XML的文本文件写入运行应用程序的计算机的驱动器。