Esempio n. 1
0
        /// <summary>
        /// Конструктор, который загружает данные фигуры в форму.
        /// </summary>
        /// <param name="figureToEdit">Figure to get data from.</param>
        public FigureForm(IGeometricFigure figureToEdit)
        {
            InitializeComponent();

            Text = "Edit figure";
            figureEditControl1.Figure = figureToEdit;

            DialogResult = DialogResult.Cancel;
        }
Esempio n. 2
0
 /// <summary>
 /// Вызывается при щелчке ОК, устанавливает _figure на построенную фигуру и DialogResult на OK.
 /// </summary>
 /// <param name="sender">Event sender, OKButton.</param>
 /// <param name="e">Event arguments.</param>
 private void OKButtonClick(object sender, EventArgs e)
 {
     try
     {
         _figure      = figureEditControl1.Figure;
         DialogResult = DialogResult.OK;
         return;
     }
     catch (ArgumentException ex)
     {
         MessageBox.Show(String.Format("Извините, но не удалось создать фигуру, пожалуйста, проверьте ваши данные.\n{0}", ex.Message), "DATA ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Фактический метод, который загружает данные фигуры в элементы управления формы.
 /// </summary>
 /// <param name="figure">Для получения данных Figure.</param>
 private void LoadFigure(IGeometricFigure figure)
 {
     if (figure is Circle)
     {
         figureComboBox.SelectedIndex = 0;
         RadiusTextBox.Text           = ((Circle)figure).Radius.ToString();
     }
     else if (figure is Rectangle)
     {
         figureComboBox.SelectedIndex = 1;
         WidthTextBox.Text            = ((Rectangle)figure).Width.ToString();
         HeightTextBox.Text           = ((Rectangle)figure).Height.ToString();
     }
     else if (figure is Ellipse)
     {
         figureComboBox.SelectedIndex = 2;
         SmallerRadiusTextBox.Text    = ((Ellipse)figure).SmallerRadius.ToString();
         LargerRadiusTextBox.Text     = ((Ellipse)figure).LargerRadius.ToString();
     }
 }
Esempio n. 4
0
 /// <summary>
 /// Метод для сериализации предка IGeometricFigure в строку JSON.
 /// </summary>
 /// <param name="figure">Figure для сериализации.</param>
 /// <returns>представление string JSON.</returns>
 private static string Serialize(IGeometricFigure figure)
 {
     return(JsonConvert.SerializeObject(figure, _settings));
 }