フログラムに新しいチェックボックスを追加し、その値を設定ファイルに保存する必要があります。私は次のコードでそれをやろうとしています:
private void CloseDisconnectedCbx_CheckedChanged(object sender, EventArgs e)
{
XDocument doc = XDocument.Load(BotsFile);
var savedBots = doc.Descendants("SavedBots")
.Where(p => p.Element("BotName").Value.ToLower()
== SelectBotBox.SelectedItem.ToString().ToLower())
.Elements("CloseDisconnected").FirstOrDefault();
if (savedBots == null)
{
try
{
doc.Descendants("SavedBots")
.Where(p => p.Element("BotName").Value.ToLower()
== SelectBotBox.SelectedItem.ToString().ToLower())
.FirstOrDefault()
.Add(new XElement("CloseDisconnected",
Convert.ToInt32(CloseDisconnectedCbx.Checked)));
doc.Save(BotsFile);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
新しい要素が追加されますが、次のようになります。
<CloseDisconnected/> VALUE
要素の終了を終了することはありません。コードが間違っているのでしょうか、それとも何かを忘れてしまったのでしょうか。
このコードは、要素がXMLファイルに見つからない場合にのみトリガーされることになっています。そうである場合、変更は別のボタンで処理されます。