private void Addbtn_Click(object sender, EventArgs e) { Statelabel.Text = ""; if (checktype(First_textbox.Text, Second_textbox.Text) == 0) { Statelabel.Text = "Оба поля пусты. Добавлять нечего"; } if (checktype(First_textbox.Text, Second_textbox.Text) == 1) { //только один аргумент Statelabel.Text += String.Format("Добавленные элементы:\n"); Lall element = Parse(First_textbox.Text); container_.Add(element); ElementsCombo.Items.Add(string.Format("{0}", element.Get())); } if (checktype(First_textbox.Text, Second_textbox.Text) == 2) { //два аргумента Lelement first, second; Statelabel.Text += String.Format("Добавленные элементы:\n"); first = Parse(First_textbox.Text); second = Parse(Second_textbox.Text); Lall element = new Lstruct2(first, second); container_.Add(element); ElementsCombo.Items.Add(string.Format("{0}, {1}", element.Get(0), element.Get(1))); } }
private void restorebtn_Click(object sender, EventArgs e) { string path = "data.txt"; string[] a; try { StreamReader file = new StreamReader(path); container_.Clear(); while (!file.EndOfStream) { //читаем до конца файла a = file.ReadLine().Split('\t'); if (a.Count() == 1) { //табов нет Lall element = Parse(a[0]); container_.Add(element); ElementsCombo.Items.Add(string.Format("{0}", element.Get())); } else { if (a.Count() == 2) { //опа, табы Lelement first, second; first = Parse(a[0]); second = Parse(a[1]); Lall element = new Lstruct2(first, second); container_.Add(element); ElementsCombo.Items.Add(string.Format("{0}, {1}", element.Get(0), element.Get(1))); } else //кто-то ручками влез в файл { throw new Exception("corruption"); } } } Statelabel.Text = "Список успешно восстановлен"; file.Close(); } //что-то пошло не так, не паникуем catch (System.IO.FileNotFoundException) { Statelabel.Text = "Файл не найден"; } catch (System.IO.IOException) { Statelabel.Text = "Ошибка ввода/вывода"; } catch (Exception) { } }