private void ArtNew_Click(object sender, EventArgs e)
        {
            var editForm = new EditArticleForm();

            editForm.ShowDialog();
            if (editForm.DialogResult == DialogResult.OK)
            {
                guide.Articles.Add(new WaterObject(editForm.Water));
                ArticleBindingSource.ResetBindings(false);
                guide.changed = true;
            }
        }
        private void ArtEdit_Click(object sender, EventArgs e)
        {
            if (!(ArticleList.SelectedItem is WaterObject item))
            {
                return;
            }
            int index    = guide.Articles.IndexOf(item);
            var editForm = new EditArticleForm(item);

            editForm.ShowDialog();
            if (editForm.DialogResult == DialogResult.OK)
            {
                guide.Articles[index] = new WaterObject(editForm.Water);
                ArticleBindingSource.ResetBindings(false);
                guide.changed = true;
            }
        }
        private void ArtSearch_Click(object sender, EventArgs e)
        {
            var search = new SearchArticleForm(guide.Articles);

            search.ShowDialog();
            if (search.DialogResult == DialogResult.Yes)
            {
                ArticleBindingSource.DataSource = search.Searched;
                if (search.Searched.Count == 0)
                {
                    MessageBox.Show("К сожалению, ничего не найденo...", "Ошибка");
                }
            }
            else if (search.DialogResult == DialogResult.No)
            {
                ArticleBindingSource.DataSource = guide.Articles;
            }

            ArticleBindingSource.ResetBindings(false);
        }
        private void ArtDelete_Click(object sender, EventArgs e)
        {
            if (!(ArticleList.SelectedItem is WaterObject item))
            {
                return;
            }
            var mess = MessageBox.Show($"Действительно удалить статью {item.Name} ? ",
                                       "Удаление", MessageBoxButtons.YesNo);

            if (DialogResult.Yes == mess)
            {
                if (ArticleBindingSource.DataSource != guide)
                {
                    ((List <WaterObject>)ArticleBindingSource.DataSource).Remove(item);
                }


                guide.Articles.Remove(item);
                ArticleBindingSource.ResetBindings(false);
                guide.changed = true;
            }
        }
 private void LoadToolStripMenuItem_Click(object sender, EventArgs e)
 {
     guide.Load();
     ArticleBindingSource.ResetBindings(false);
 }