/// <summary> /// Добавляет новый домен /// </summary> public DialogResult AddDomain() { frmAddDom f = new frmAddDom(this); DialogResult dr = f.ShowDialog(); if (dr == DialogResult.OK) { if (newDom == "") { MessageBox.Show("Домен не может быть без имени!"); return(DialogResult.Cancel); } if (!domains.ContainsKey(newDom)) { domains.Add(newDom, new ValueDomain(newDom)); listBox1.Items.Add(newDom); listBox1.SelectedItem = newDom; } else { MessageBox.Show("Домен с таким именем уже существует!"); } } return(dr); }
/// <summary> /// Кнопка "Изменить домен" /// </summary> private void btnEditDomain_Click(object sender, EventArgs e) { try { if (listBox1.SelectedIndex < 0) { MessageBox.Show("Сначала необходимо выбрать нужный домен"); return; } string oldDom = listBox1.SelectedItem.ToString(); frmAddDom f = new frmAddDom(this, oldDom); if (f.ShowDialog() == DialogResult.OK && oldDom != newDom) { if (newVal == "") { MessageBox.Show("Значение не может быть пустым"); return; } ValueDomain nd = new ValueDomain(newDom); for (int i = domains[oldDom].Count - 1; i >= 0; i--) { nd.AddVal(domains[oldDom].GetVal(i), 0); } domains.Remove(oldDom); listBox1.Items.Remove(oldDom); domains.Add(newDom, nd); listBox1.Items.Add(newDom); // изменяем все переменные с этим доменом foreach (string s in vars.Keys) { if (vars[s].Domain.Name == oldDom) { vars[s].Domain = domains[newDom]; } } } } catch (DomainException de) { MessageBox.Show(de.Message); } catch (Exception ex) { MessageBox.Show(ex.Message); } }