Возник некий вопрос, как правильно сделать сохранения позиции выбранных чекбоксов в TabContol. Вот мой код для сохранения. При нажатии кнопки сохранить, в файл не записываются выбранные позиции чексбоксов. Можете мене помочь в решении этой проблемы.
private void saveCheckboxButton_Click(object sender, EventArgs e)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Program.pathToMyPluginDir + "\\box.xml");
XmlNode xmlNode = xmlDocument.SelectSingleNode("root").SelectSingleNode("menu");
xmlNode.RemoveAll();
Dictionary<int, string> dictionary = new Dictionary<int, string>();
int num = 0;
foreach (object obj in this.orderLv.Items)
{
ListViewItem listViewItem = (ListViewItem)obj;
if (listViewItem.Text.Contains(Language.plugin_delete_antianalytics))
{
if (this.analyticActivityCB.Checked)
{
dictionary.Add(num, this.analyticActivityCB.Text);
num++;
}
if (this.analyticServiceCB.Checked)
{
dictionary.Add(num, this.analyticServiceCB.Text);
num++;
}
if (this.analyticLinksCB.Checked)
{
dictionary.Add(num, this.analyticLinksCB.Text);
num++;
}
if (this.analyticFirebaseCB.Checked)
{
dictionary.Add(num, this.analyticFirebaseCB.Text);
num++;
}
if (this.analyticReceiverCB.Checked)
{
dictionary.Add(num, this.analyticReceiverCB.Text);
num++;
}
if (this.analyticLayoutCB.Checked)
{
dictionary.Add(num, this.analyticLayoutCB.Text);
num++;
}
if (this.analyticMethodCB.Checked)
{
dictionary.Add(num, this.analyticMethodCB.Text);
num++;
}
}
else
{
dictionary.Add(num, listViewItem.Text);
num++;
}
}
//здесь как раз и наблюдается проблема
foreach (TabPage tabPage in this.mainTabControl.Controls)
{
foreach (Control control in tabPage.Controls)
{
GroupBox groupBox = new GroupBox();
tabPage.Controls.Add(groupBox);
if (control is CheckBox checkBox)
{
XmlNode xmlNode2 = xmlDocument.CreateElement("menuitem");
xmlNode2.InnerText = checkBox.Name;
XmlAttribute xmlAttribute = xmlDocument.CreateAttribute("checked");
xmlAttribute.Value = checkBox.Checked.ToString();
xmlNode2.Attributes.Append(xmlAttribute);
xmlAttribute = xmlDocument.CreateAttribute("position");
xmlAttribute.Value = "";
foreach (KeyValuePair<int, string> keyValuePair in dictionary)
{
string[] array = keyValuePair.Value.Split(new char[]
{
':'
});
if (string.Compare((array.Count<string>() == 1) ? array[0].Trim() : array[1].Trim(), checkBox.Text) == 0)
{
xmlAttribute.Value = keyValuePair.Key.ToString();
break;
}
}
xmlNode2.Attributes.Append(xmlAttribute);
xmlNode.AppendChild(xmlNode2);
}
}
}
xmlDocument.Save(Program.pathToMyPluginDir + "\\box.xml");
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть следующая задача: Реализовать WCF сервис (внутри сервиса крутятся несколько обобщенных очередей в которые помещаются типизированные...
Прошу помочь в следующем вопросе: У меня есть метод, который делает десериализацию данных, после десериализации данные добавляются в список...