/// <summary>
        /// Логика по созданию звезды здесь. Здесь считываются введенные пользователем данные, преобразуются в нужный тип и отправляются в конструктор модели звезды. Готовая звезда отдается родительской форме, а исключения отлавливаются и показываются пользователю в виде понятного текста.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonCreateStar_Click(object sender, EventArgs e)
        {
            try
            {
                var largeRadius   = double.Parse(TextBoxLargeRadius.Text);
                var smallRadius   = double.Parse(TextBoxSmallRadius.Text);
                var centerPointX  = float.Parse(TextBoxCenterX.Text);
                var centerPointY  = float.Parse(TextBoxCenterY.Text);
                var degree        = double.Parse(TextBoxDegree.Text);
                var raysNumber    = int.Parse(TextBoxRaysCount.Text);
                var star          = new StarModel(largeRadius, smallRadius, new PointF(centerPointX, centerPointY), degree, raysNumber);
                var starViewModel = new StarViewModel(star, StarColor);

                this.StarCreated?.Invoke(starViewModel);
                this.Close();
            }
            catch (FormatException)
            {
                MessageBox.Show("Вы использовали недопустимые данные для ввода. Для ввода большего радиуса, малого радиуса, центральных точек и угла допускаются числа с плавающей запятой (целая часть от дробной разделяется запятой), а для количества лучей допускаются только целые числа.");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Ошибка! {ex.Message}");
            }
        }
Пример #2
0
 /// <summary>
 /// Удаление звезды из коллекции
 /// </summary>
 /// <param name="star"></param>
 private void StarDeleteForm_StarSelected(StarViewModel star)
 {
     stars.Remove(star);
     DrawStars();
 }
Пример #3
0
 /// <summary>
 /// Добавление звезды в коллекцию
 /// </summary>
 /// <param name="star"></param>
 private void StarCreatorForm_StarCreated(StarViewModel star)
 {
     stars.Add(star);
     DrawStars();
 }