【发布时间】:2021-08-31 22:33:04
【问题描述】:
我有 3 个文本框 ip_textBox、port_textBox、node_textBox,其值是通过读取 App.Config 文件填充的。这些作为键值对存储在 App.Config 文件中。格式如下。
<appSettings>
<add key="IP" value=" " /> // ip address comes here
<add key="Port" value="9999" />
<add key="NodePath" value="C:\\Desktop\\Test.js" />
</appSettings>
完成更改后,我需要将文本框值保存回 XML 文件。
我有一个函数UpdateXml()
public static void UpdateXml(string key, string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
config.AppSettings.Settings[key].Value = value;
config.Save(ConfigurationSaveMode.Minimal);
}
可用于在按钮单击事件上更新App.Config 文件。我最初的方法是为每个文本框值调用UpdateXml() 函数,如下所示:
private void Btn_Save_Click(object sender, EventArgs e)
{
string ip = ip_textBox.Text;
string port = port_textBox.Text;
string node = node_textBox.Text;
UpdateXml("IP", ip);
UpdateXml("Port", port);
UpdateXml("NodePath", node );
}
由于UpdateXml() 的两个参数都需要迭代,我想知道一次性保存所有三个参数的最有效方法是什么。
【问题讨论】:
-
只有这些文本框吗?他们一起在一个组框里吗?有一种方法可以提取相同类型的所有控件。这可以使用,并且您的文本框名称的前缀可以用作保存时的键
-
是的,所有的文本框都在一个tablelayoutpanel中
-
这些是该面板内仅有的文本框吗?
-
@MongZhu 是的,只有这些
标签: c# xml function winforms loops