C# 如何在C中保存设置#

C# 如何在C中保存设置#,c#,settings,preferences,C#,Settings,Preferences,我正在构建一个独立的程序,因此程序无法访问外部文件。回忆上次关闭前窗口的大小和窗口内某个元素的位置的最佳方法是什么?内置设置机制:我会使用.NET提供的设置,这很舒服: 嗯,我认为有两种选择: 如果您不使用外部文件,也可以将设置存储在自动生成的.config文件中 保存注册表中的值 对于第一个选项,请查看,对于第二个选项,请尝试查看 编辑:如何写入注册表: RegistryKey currentUser = Registry.CurrentUser; RegistryKey subKey =

我正在构建一个独立的程序,因此程序无法访问外部文件。回忆上次关闭前窗口的大小和窗口内某个元素的位置的最佳方法是什么?

内置设置机制:

我会使用.NET提供的设置,这很舒服:
嗯,我认为有两种选择:

  • 如果您不使用外部文件,也可以将设置存储在自动生成的.config文件中
  • 保存注册表中的值
对于第一个选项,请查看,对于第二个选项,请尝试查看

编辑:如何写入注册表:

RegistryKey currentUser = Registry.CurrentUser;
RegistryKey subKey = currentUser.CreateSubKey("MyTest", RegistryKeyPermissionCheck.ReadWriteSubTree);
subKey.SetValue("WindowHeight", 1024);
subKey.SetValue("WindowWidth", 1024);

注意.NET设置机制:我记得在启动时多次中断应用程序,结果发现它正在执行用于检索设置的代码,这意味着您可能会在程序中看到更长的启动时间。我更喜欢使用注册表,我正在尝试将其保持为独立的exe。我似乎唯一找不到的是,如何在注册表中写得更深?你的教程和我发现的所有其他教程只写给“HKEY_当前用户”。如何写,比如说“HKEY\U Current\U User\Software”?更新了我的帖子,请参见示例:)我的意思是如何深入研究注册表?比如,如果我想写“HKEY\U Current\U User\Software\companyname\program\newkey”,我该怎么做?如果你的目标是写一个便携式应用程序,那么写注册表并不完全干净/高效。我建议使用Application.Settings类或编写并解析一个简单的INI文件,如下所述:祝您好运。只需在CreateSubKey方法中使用反斜杠即可。例如,currentUser.CreateSubKey(“MyTest\\A\\B\\C\\D\\E”,RegistryKeyPermissionCheck.ReadWriteSubTree)将自动深入注册表,在必要时创建新的子项。