Example #1
0
        private void FillTable_Click(object sender, EventArgs e)
        {
            Random rnd = new Random();

            int style;

            for (int i = 0; i < 10; i++)
            {
                style = rnd.Next(0, 3);
                Model.IFigure figureModel = null;
                switch (_figure)
                {
                case 0:
                    var circle = new Circle();
                    circle.Radius = Convert.ToInt32(rnd.Next(0, 10));
                    circle.X      = Convert.ToInt32(rnd.Next(0, 100));
                    circle.Y      = Convert.ToInt32(rnd.Next(0, 100));
                    figureModel   = circle;
                    break;

                case 1:
                    var rectangle = new Model.Rectangle();
                    rectangle.Length = Convert.ToInt32(rnd.Next(0, 10));
                    rectangle.Width  = Convert.ToInt32(rnd.Next(0, 10));
                    rectangle.X      = Convert.ToInt32(rnd.Next(0, 100));
                    rectangle.Y      = Convert.ToInt32(rnd.Next(0, 100));
                    figureModel      = rectangle;
                    break;

                case 2:
                    var triangle = new Triangle();
                    triangle.Side1 = Convert.ToInt32(rnd.Next(0, 10));
                    triangle.Side2 = Convert.ToInt32(rnd.Next(0, 10));
                    triangle.Side3 = Convert.ToInt32(rnd.Next(0, 10));
                    triangle.X     = Convert.ToInt32(rnd.Next(0, 100));
                    triangle.Y     = Convert.ToInt32(rnd.Next(0, 100));
                    figureModel    = triangle;
                    break;
                }
                Figure       = figureModel;
                DialogResult = DialogResult.OK;
                _figure      = (rnd.Next(0, 3));
                IFigure figure = null;
                figure = Figure;
                ListFigures.list.Add(figure);
                var row = _table.NewRow();
                row[0] = figure.Name;
                row[1] = figure.X;
                row[2] = figure.Y;
                row[3] = figure.CalculationArea();
                _table.Rows.Add(row);
            }
        }
        /// <summary>
        /// Нажатие по кнопке "Рассчитать"
        /// </summary>
        private void Calculate_Click(object sender, EventArgs e)
        {
            try
            {
                Model.IFigure figureModel = null;
                switch (_figure)
                {
                case 0:
                    var triangle = new Triangle();
                    triangle.Side1 = Convert.ToInt32(Side1.Text);
                    triangle.Side2 = Convert.ToInt32(Side2.Text);
                    triangle.Side3 = Convert.ToInt32(Side3.Text);
                    triangle.X     = Convert.ToInt32(X.Text);
                    triangle.Y     = Convert.ToInt32(Y.Text);
                    figureModel    = triangle;
                    break;

                case 1:
                    var rectangle = new Model.Rectangle();
                    rectangle.Length = Convert.ToInt32(Length.Text);
                    rectangle.Width  = Convert.ToInt32(Breadth.Text);
                    rectangle.X      = Convert.ToInt32(X.Text);
                    rectangle.Y      = Convert.ToInt32(Y.Text);
                    figureModel      = rectangle;
                    break;

                case 2:
                    var circle = new Circle();
                    circle.Radius = Convert.ToInt32(Radius.Text);
                    circle.X      = Convert.ToInt32(X.Text);
                    circle.Y      = Convert.ToInt32(Y.Text);
                    figureModel   = circle;
                    break;
                }
                Figure       = figureModel;
                DialogResult = DialogResult.OK;
                this.Close();
            }
            catch (Exception ex)
            { MessageBox.Show(ex.Message); }
        }