如何将应用程序设置保存到不同的位置和文件名
How to save Application Settings to a different location and file name
C# Windows 表格。
我已成功使用“应用程序设置”为表单上的控件值保存和加载用户设置。
我有一个复选框和代码,我可以在其中设置这是否自动发生(在应用程序启动和关闭时)。
我还有一个菜单,因此我可以在运行时加载和保存它们。
这都是使用默认的 user.config.
例子。
在我的应用程序设置中(对于其中一项,这是一个名为 RbBitRate6Mbps 的单选按钮):
名称:BitRate6Mbps
类型:字符串
范围:用户
值:假
要保存设置,我有一个菜单项,保存默认值。这运行:
if (RbBitRate6Mbps.Checked == true)
{
Settings.Default["BitRate6Mbps"] = "True";
}
else
{
Settings.Default["BitRate6Mbps"] = "False";
}
Settings.Default.Save();
要加载设置,我有一个菜单项,加载默认值。这运行:
if (Settings.Default["BitRate6Mbps"].ToString() == "True")
{
RbBitRate6Mbps.Checked = true;
}
else
{
RbBitRate6Mbps.Checked = false;
}
在上面的其余代码中,我保存和加载了大约 10 个其他控件(文本框、复选框和单选按钮)。
这一切都没有问题。
现在我想要几组这样的设置,每组都包含一些相同的值和一些不同的值。
每个都有不同的文件名,并保存到自定义位置(默认情况下为应用程序文件夹)。
我不介意文件是什么格式(xml、ini 等),但如果它与默认值相同,那就太好了。
我创建了新的菜单项,保存自定义设置和加载自定义设置。
我添加了一个 SaveFileDialog 和一个 LoadFileDialog,希望能用于上述操作。
但如果这些都不是必须的,那也很好。
这是我卡住的地方。
几天来我一直在寻找一个清楚的例子来说明如何做到这一点。
我找不到太多。我发现了什么,我一直无法理解文档。
我在想重新加载设置会更容易吗?
但我也认为,为了保存文件,使用:
Settings.Default.Save();
不会实现我的目标,因为它只会写入默认的 user.config 文件?
我想做的事情可行吗?
如果有,有人有任何说明和示例代码吗?
使用 OpenExeConfiguration
函数读取设置,然后在 Save
之前读取 Add/Update 键值。最后,您可以 ConfigurationManager.RefreshSection
刷新特定部分的设置。
示例位于 Link
static void AddUpdateAppSettings(string key, string value)
{
try
{
var configFile = ConfigurationManager
.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
更新。我安装了一个新的 Settings Provider 并且运行良好。它将 XML 保存到应用程序文件夹。我还设置了 INI 文件来保存设置。同时使用自定义路径和自定义文件名。它允许创建多个 INI 文件。这也非常有效。
编辑:更新了代码(和说明),因此不再需要手动创建任何自定义文件夹。如果不存在,则创建。
XML 设置提供程序 开发人员项目位于此处:
INI 文件开发人员项目(和演示)位于此处:
C# WinForms Ini File demo on Github
以下是使用 XML 文件设置新 Settings Provider 的说明,随后是将设置保存到 INI 文件(两种类型可以同时在同一个项目中使用,就像我在这里做的那样):
使用新的设置提供程序将设置保存在 XML 文件中:
1。
设置 Application Settings(在 Solution Explorer 中,右键单击 App。然后 Select:Properties。然后打开:设置).
Name: txtFullName
Type: String
Scope: User
Value: John Doe
Name: txtSchool
Type: String
Scope: User
Value: Oxford
Name: txtClass
Type: String
Scope: User
Value: 4B
Name: chkActiveStudent
Type: bool
Scope: User
Value: True
2。
从 NuGet 安装新的 Settings Provider(在 Solution Explorer 中,右键单击:References。然后 Select: Manage NuGet Packages. 然后搜索: PortableSettingsProvider. Install it).
3。
在Program.cs中修改static void Main()。添加到它下面的行。
//PortableSettingsProvider.SettingsFileName = "portable.config";
//PortableSettingsProvider.SettingsDirectory = "c:\\testconfig\\school";
//System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
如果接受默认设置(配置文件 portable.config,将在应用程序文件夹中创建),正确编辑的 static void Main() 条目如下所示。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//PortableSettingsProvider.SettingsFileName = "portable.config";
//PortableSettingsProvider.SettingsDirectory = "c:\testconfig\school";
//System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
3a。
要选择不同的文件名和位置,请删除注释 (//) 并更改为您对文件名和位置的偏好(文件夹名称之间需要双斜线)。在此示例中,我使用 settings.config 作为文件名,使用 c:\testconfig\school 作为路径)。在这种情况下,正确编辑的 static void Main() 条目将如下所示。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
PortableSettingsProvider.SettingsFileName = "settings.config";
PortableSettingsProvider.SettingsDirectory = "c:\testconfig\school";
System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
3b。
如果您希望在应用程序工作目录的子文件夹中创建设置目录,则更改代码以包含子文件夹名称(在此示例中,我使用 settings.config 作为文件名和 Settings 作为子文件夹)。在这种情况下,正确编辑的 static void Main() 条目将如下所示。
static void Main()
{
Application.EnableVisualStyles();
PortableSettingsProvider.SettingsFileName = "settings.config";
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
PortableSettingsProvider.SettingsDirectory = strSettingsDirectory;
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
4。
仍在 Program.cs 中,将以下行添加到现有 using 部分的底部。
using Bluegrams.Application;
5。
在表单上创建一些控件(这些将对应于步骤 1 中所做的 应用程序设置)。
TextBox. Name: txtFullName
TextBox. Name: txtSchool
Textbox. Name: txtClass
Checkbox. Name: chkActiveStudent
Button. Name: btnLoadSettings Text: Load Config
Button. Name: btnSaveSettings Text: Save Config
6.
输入 Load Config 按钮单击事件的代码 (btnLoadSettings)。
private void btnLoadSettings_Click(object sender, EventArgs e)
{
txtName.Text = Properties.Settings.Default.txtName.ToString();
txtSchool.Text = Properties.Settings.Default.txtSchool.ToString();
txtClass.Text = Properties.Settings.Default.txtClass.ToString();
if (Properties.Settings.Default.chkActiveStudent == true)
{
chkActiveStudent.Checked = true;
}
else
{
chkActiveStudent.Checked = false;
}
}
7.
输入 Save Config 按钮单击事件的代码 (btnSaveSettings)。
private void btnSaveSettings_Click(object sender, EventArgs e)
{
Properties.Settings.Default.txtName = txtName.Text;
Properties.Settings.Default.txtSchool = txtSchool.Text;
Properties.Settings.Default.txtClass = txtClass.Text;
if (chkActiveStudent.Checked == true)
{
Properties.Settings.Default.chkActiveStudent = true;
}
else
{
Properties.Settings.Default.chkActiveStudent = false;
}
Properties.Settings.Default.Save();
}
8。
就是这样。
运行 应用程序。
使用第一个按钮加载设置)。
对控件上的文本进行一些更改。
使用第二个按钮保存它们。
如果您还没有创建自定义文件名 and/or 路径,那么在您的应用程序文件夹中应该有一个新文件:portable.config.
我的位于:C:\Users\flakie\source\repos\TestApp\TestApp\bin\Debug
您可以在 txt/xml 编辑器中打开文件以验证值是否已设置。
如果您再次 运行 应用并加载设置,您应该会看到新值。
将设置保存到多个 INI 文件的代码
以下说明更容易实现。
它们不要求您设置应用程序设置,因为它们未被使用。
设置将保存在 1 个或多个 INI 文件中。
路径可以即时更改(尽管已设置默认值),INI 文件的文件名也可以。
它将再次使用应用程序自己的文件夹作为默认目标(对于 INI 文件)。
您只需要修改 Form.cs 文件。
演示(来自上面的 link)很容易理解,足以为我提供创建这个示例的知识(我是 C# 新手)。
9。
从 NuGet 安装 INI 文件包(在 Solution Explorer 中,右键单击:References。然后 Select:Manage NuGet Packages.然后搜索:PeanutButter.INI.Install it).
10。
在你的 Form.cs 文件中(Form1.cs 如果你没有更改名称),将以下行添加到底部现有 using 部分。
using PeanutButter.INIFile;
11。
在您的 Form.cs 文件中,直接在 public partial class Form1 : Form 行下方,添加以下单行代码。
private IINIFile _loadedConfig;
它应该如下所示。
public partial class Form1 : Form {
private IINIFile _loadedConfig;
12。
在表单上再创建两个按钮。
Button. Name: btnOpenIniFile Text: Open INI
Button. Name: btnSaveIniFile Text: Save INI
13。
输入 Open INI 按钮单击事件 (btnOpenIniFile) 的代码。
private void btnOpenIniFile_Click(object sender, EventArgs e) {
using(OpenFileDialog OpenFileIni = new OpenFileDialog()) {
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
OpenFileIni.InitialDirectory = strSettingsDirectory;
OpenFileIni.Filter = "INI File|*.ini";
OpenFileIni.RestoreDirectory = true;
OpenFileIni.CheckFileExists = true;
OpenFileIni.CheckPathExists = true;
OpenFileIni.Title = "Open an INI Settings File";
if (OpenFileIni.ShowDialog() == DialogResult.OK)
{
_loadedConfig = new INIFile(OpenFileIni.FileName);
txtName.Text = _loadedConfig.HasSetting("UserSettings", "txtName") ? _loadedConfig["UserSettings"]["txtName"] : "";
txtSchool.Text = _loadedConfig.HasSetting("UserSettings", "txtSchool") ? _loadedConfig["UserSettings"]["txtSchool"] : "";
txtClass.Text = _loadedConfig.HasSetting("UserSettings", "txtClass") ? _loadedConfig["UserSettings"]["txtClass"] : "";
if (_loadedConfig["UserSettings"]["chkActiveStudent"] == "Checked")
{
chkActiveStudent.Checked = true;
}
else
{
chkActiveStudent.Checked = false;
}
}
}
}
14。
输入 Save INI 按钮单击事件的代码 (btnSaveIniFile)。
private void btnSaveIniFile_Click(object sender, EventArgs e)
{
using (SaveFileDialog SaveFileIni = new SaveFileDialog())
{
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
SaveFileIni.InitialDirectory = strSettingsDirectory;
SaveFileIni.Filter = "INI File|*.ini";
SaveFileIni.Title = "Save an INI Settings File";
if (SaveFileIni.ShowDialog() == DialogResult.OK)
{
_loadedConfig = new INIFile(SaveFileIni.FileName);
_loadedConfig["UserSettings"]["txtName"] = txtName.Text;
_loadedConfig["UserSettings"]["txtSchool"] = txtSchool.Text;
_loadedConfig["UserSettings"]["txtClass"] = txtClass.Text;
if (chkActiveStudent.Checked == true)
{
_loadedConfig["UserSettings"]["chkActiveStudent"] = "Checked";
}
else
{
_loadedConfig["UserSettings"]["chkActiveStudent"] = "UnChecked";
}
_loadedConfig.Persist();
}
}
}
15。
而已。 运行 应用程序。
对文本框控件上的文本进行一些更改。使用 Save INI 按钮保存它们。
系统将提示您输入文件名。它可以是你喜欢的任何东西(但在这个例子中,我使用了我在第一个文本框中设置的人的名字。
您不需要输入 ini 文件扩展名。您可以根据需要更改位置。
对文本框中的文本进行更多更改,但不保存它们。
单击 打开 INI 按钮。浏览到您刚刚保存的 ini 文件并打开它。
您刚刚修改的文本,没有保存,现在应该更改为您保存到 ini 文件中的文本。
C# Windows 表格。
我已成功使用“应用程序设置”为表单上的控件值保存和加载用户设置。 我有一个复选框和代码,我可以在其中设置这是否自动发生(在应用程序启动和关闭时)。 我还有一个菜单,因此我可以在运行时加载和保存它们。 这都是使用默认的 user.config.
例子。 在我的应用程序设置中(对于其中一项,这是一个名为 RbBitRate6Mbps 的单选按钮):
名称:BitRate6Mbps
类型:字符串
范围:用户
值:假
要保存设置,我有一个菜单项,保存默认值。这运行:
if (RbBitRate6Mbps.Checked == true)
{
Settings.Default["BitRate6Mbps"] = "True";
}
else
{
Settings.Default["BitRate6Mbps"] = "False";
}
Settings.Default.Save();
要加载设置,我有一个菜单项,加载默认值。这运行:
if (Settings.Default["BitRate6Mbps"].ToString() == "True")
{
RbBitRate6Mbps.Checked = true;
}
else
{
RbBitRate6Mbps.Checked = false;
}
在上面的其余代码中,我保存和加载了大约 10 个其他控件(文本框、复选框和单选按钮)。 这一切都没有问题。
现在我想要几组这样的设置,每组都包含一些相同的值和一些不同的值。 每个都有不同的文件名,并保存到自定义位置(默认情况下为应用程序文件夹)。 我不介意文件是什么格式(xml、ini 等),但如果它与默认值相同,那就太好了。
我创建了新的菜单项,保存自定义设置和加载自定义设置。
我添加了一个 SaveFileDialog 和一个 LoadFileDialog,希望能用于上述操作。 但如果这些都不是必须的,那也很好。
这是我卡住的地方。
几天来我一直在寻找一个清楚的例子来说明如何做到这一点。 我找不到太多。我发现了什么,我一直无法理解文档。
我在想重新加载设置会更容易吗? 但我也认为,为了保存文件,使用:
Settings.Default.Save();
不会实现我的目标,因为它只会写入默认的 user.config 文件?
我想做的事情可行吗?
如果有,有人有任何说明和示例代码吗?
使用 OpenExeConfiguration
函数读取设置,然后在 Save
之前读取 Add/Update 键值。最后,您可以 ConfigurationManager.RefreshSection
刷新特定部分的设置。
示例位于 Link
static void AddUpdateAppSettings(string key, string value)
{
try
{
var configFile = ConfigurationManager
.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
更新。我安装了一个新的 Settings Provider 并且运行良好。它将 XML 保存到应用程序文件夹。我还设置了 INI 文件来保存设置。同时使用自定义路径和自定义文件名。它允许创建多个 INI 文件。这也非常有效。
编辑:更新了代码(和说明),因此不再需要手动创建任何自定义文件夹。如果不存在,则创建。
XML 设置提供程序 开发人员项目位于此处:
INI 文件开发人员项目(和演示)位于此处:
C# WinForms Ini File demo on Github
以下是使用 XML 文件设置新 Settings Provider 的说明,随后是将设置保存到 INI 文件(两种类型可以同时在同一个项目中使用,就像我在这里做的那样):
使用新的设置提供程序将设置保存在 XML 文件中:
1。 设置 Application Settings(在 Solution Explorer 中,右键单击 App。然后 Select:Properties。然后打开:设置).
Name: txtFullName
Type: String
Scope: User
Value: John Doe
Name: txtSchool
Type: String
Scope: User
Value: Oxford
Name: txtClass
Type: String
Scope: User
Value: 4B
Name: chkActiveStudent
Type: bool
Scope: User
Value: True
2。 从 NuGet 安装新的 Settings Provider(在 Solution Explorer 中,右键单击:References。然后 Select: Manage NuGet Packages. 然后搜索: PortableSettingsProvider. Install it).
3。 在Program.cs中修改static void Main()。添加到它下面的行。
//PortableSettingsProvider.SettingsFileName = "portable.config";
//PortableSettingsProvider.SettingsDirectory = "c:\\testconfig\\school";
//System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
如果接受默认设置(配置文件 portable.config,将在应用程序文件夹中创建),正确编辑的 static void Main() 条目如下所示。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//PortableSettingsProvider.SettingsFileName = "portable.config";
//PortableSettingsProvider.SettingsDirectory = "c:\testconfig\school";
//System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
3a。 要选择不同的文件名和位置,请删除注释 (//) 并更改为您对文件名和位置的偏好(文件夹名称之间需要双斜线)。在此示例中,我使用 settings.config 作为文件名,使用 c:\testconfig\school 作为路径)。在这种情况下,正确编辑的 static void Main() 条目将如下所示。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
PortableSettingsProvider.SettingsFileName = "settings.config";
PortableSettingsProvider.SettingsDirectory = "c:\testconfig\school";
System.IO.Directory.CreateDirectory(PortableSettingsProvider.SettingsDirectory);
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
3b。 如果您希望在应用程序工作目录的子文件夹中创建设置目录,则更改代码以包含子文件夹名称(在此示例中,我使用 settings.config 作为文件名和 Settings 作为子文件夹)。在这种情况下,正确编辑的 static void Main() 条目将如下所示。
static void Main()
{
Application.EnableVisualStyles();
PortableSettingsProvider.SettingsFileName = "settings.config";
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
PortableSettingsProvider.SettingsDirectory = strSettingsDirectory;
PortableSettingsProvider.ApplyProvider(Properties.Settings.Default);
Application.Run(new MyTestApp());
}
4。 仍在 Program.cs 中,将以下行添加到现有 using 部分的底部。
using Bluegrams.Application;
5。 在表单上创建一些控件(这些将对应于步骤 1 中所做的 应用程序设置)。
TextBox. Name: txtFullName
TextBox. Name: txtSchool
Textbox. Name: txtClass
Checkbox. Name: chkActiveStudent
Button. Name: btnLoadSettings Text: Load Config
Button. Name: btnSaveSettings Text: Save Config
6. 输入 Load Config 按钮单击事件的代码 (btnLoadSettings)。
private void btnLoadSettings_Click(object sender, EventArgs e)
{
txtName.Text = Properties.Settings.Default.txtName.ToString();
txtSchool.Text = Properties.Settings.Default.txtSchool.ToString();
txtClass.Text = Properties.Settings.Default.txtClass.ToString();
if (Properties.Settings.Default.chkActiveStudent == true)
{
chkActiveStudent.Checked = true;
}
else
{
chkActiveStudent.Checked = false;
}
}
7. 输入 Save Config 按钮单击事件的代码 (btnSaveSettings)。
private void btnSaveSettings_Click(object sender, EventArgs e)
{
Properties.Settings.Default.txtName = txtName.Text;
Properties.Settings.Default.txtSchool = txtSchool.Text;
Properties.Settings.Default.txtClass = txtClass.Text;
if (chkActiveStudent.Checked == true)
{
Properties.Settings.Default.chkActiveStudent = true;
}
else
{
Properties.Settings.Default.chkActiveStudent = false;
}
Properties.Settings.Default.Save();
}
8。 就是这样。
运行 应用程序。 使用第一个按钮加载设置)。 对控件上的文本进行一些更改。 使用第二个按钮保存它们。
如果您还没有创建自定义文件名 and/or 路径,那么在您的应用程序文件夹中应该有一个新文件:portable.config.
我的位于:C:\Users\flakie\source\repos\TestApp\TestApp\bin\Debug
您可以在 txt/xml 编辑器中打开文件以验证值是否已设置。
如果您再次 运行 应用并加载设置,您应该会看到新值。
将设置保存到多个 INI 文件的代码
以下说明更容易实现。 它们不要求您设置应用程序设置,因为它们未被使用。 设置将保存在 1 个或多个 INI 文件中。
路径可以即时更改(尽管已设置默认值),INI 文件的文件名也可以。
它将再次使用应用程序自己的文件夹作为默认目标(对于 INI 文件)。
您只需要修改 Form.cs 文件。
演示(来自上面的 link)很容易理解,足以为我提供创建这个示例的知识(我是 C# 新手)。
9。 从 NuGet 安装 INI 文件包(在 Solution Explorer 中,右键单击:References。然后 Select:Manage NuGet Packages.然后搜索:PeanutButter.INI.Install it).
10。 在你的 Form.cs 文件中(Form1.cs 如果你没有更改名称),将以下行添加到底部现有 using 部分。
using PeanutButter.INIFile;
11。 在您的 Form.cs 文件中,直接在 public partial class Form1 : Form 行下方,添加以下单行代码。
private IINIFile _loadedConfig;
它应该如下所示。
public partial class Form1 : Form {
private IINIFile _loadedConfig;
12。 在表单上再创建两个按钮。
Button. Name: btnOpenIniFile Text: Open INI
Button. Name: btnSaveIniFile Text: Save INI
13。 输入 Open INI 按钮单击事件 (btnOpenIniFile) 的代码。
private void btnOpenIniFile_Click(object sender, EventArgs e) {
using(OpenFileDialog OpenFileIni = new OpenFileDialog()) {
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
OpenFileIni.InitialDirectory = strSettingsDirectory;
OpenFileIni.Filter = "INI File|*.ini";
OpenFileIni.RestoreDirectory = true;
OpenFileIni.CheckFileExists = true;
OpenFileIni.CheckPathExists = true;
OpenFileIni.Title = "Open an INI Settings File";
if (OpenFileIni.ShowDialog() == DialogResult.OK)
{
_loadedConfig = new INIFile(OpenFileIni.FileName);
txtName.Text = _loadedConfig.HasSetting("UserSettings", "txtName") ? _loadedConfig["UserSettings"]["txtName"] : "";
txtSchool.Text = _loadedConfig.HasSetting("UserSettings", "txtSchool") ? _loadedConfig["UserSettings"]["txtSchool"] : "";
txtClass.Text = _loadedConfig.HasSetting("UserSettings", "txtClass") ? _loadedConfig["UserSettings"]["txtClass"] : "";
if (_loadedConfig["UserSettings"]["chkActiveStudent"] == "Checked")
{
chkActiveStudent.Checked = true;
}
else
{
chkActiveStudent.Checked = false;
}
}
}
}
14。 输入 Save INI 按钮单击事件的代码 (btnSaveIniFile)。
private void btnSaveIniFile_Click(object sender, EventArgs e)
{
using (SaveFileDialog SaveFileIni = new SaveFileDialog())
{
var strSettingsDirectory = Directory.GetCurrentDirectory() + "\Settings";
System.IO.Directory.CreateDirectory(strSettingsDirectory);
SaveFileIni.InitialDirectory = strSettingsDirectory;
SaveFileIni.Filter = "INI File|*.ini";
SaveFileIni.Title = "Save an INI Settings File";
if (SaveFileIni.ShowDialog() == DialogResult.OK)
{
_loadedConfig = new INIFile(SaveFileIni.FileName);
_loadedConfig["UserSettings"]["txtName"] = txtName.Text;
_loadedConfig["UserSettings"]["txtSchool"] = txtSchool.Text;
_loadedConfig["UserSettings"]["txtClass"] = txtClass.Text;
if (chkActiveStudent.Checked == true)
{
_loadedConfig["UserSettings"]["chkActiveStudent"] = "Checked";
}
else
{
_loadedConfig["UserSettings"]["chkActiveStudent"] = "UnChecked";
}
_loadedConfig.Persist();
}
}
}
15。 而已。 运行 应用程序。
对文本框控件上的文本进行一些更改。使用 Save INI 按钮保存它们。
系统将提示您输入文件名。它可以是你喜欢的任何东西(但在这个例子中,我使用了我在第一个文本框中设置的人的名字。 您不需要输入 ini 文件扩展名。您可以根据需要更改位置。
对文本框中的文本进行更多更改,但不保存它们。 单击 打开 INI 按钮。浏览到您刚刚保存的 ini 文件并打开它。
您刚刚修改的文本,没有保存,现在应该更改为您保存到 ini 文件中的文本。