// -------------------------------------------------
        public Form_PerforatedPolygons ()
        {
            InitializeComponent ();
            mover = new Mover (this);

            clrNew = (BackColor != Color .White) ? Color .White : Color .LightGray;
            panelColor .BackColor = clrNew;

            PerforatedPolygon pp3 = new PerforatedPolygon (3, new PointF (150, 150), 50, 120, Color .LightGreen, 0);
            PerforatedPolygon pp4 = new PerforatedPolygon (4, new Point (400, 150), 50, 100, Color .Cyan, 45);
            PerforatedPolygon pp6 = new PerforatedPolygon (6, new Point (150, 400), 50, 100, Color .Blue, -75);
            PerforatedPolygon pp9 = new PerforatedPolygon (9, new Point (400, 400), 50, 100, Color .Yellow, 0);

            figures .Clear ();
            figures .Insert (0, pp3);
            figures .Insert (0, pp4);
            figures .Insert (0, pp6);
            figures .Insert (0, pp9);

            string info = "To Move   - L_Press inside\n" +
                          "To Rotate - R_Press inside\n" +
                          "To Zoom   - L_Press on border\n" +
                          "To Popup  - L_Click inside";
            text = new TextM (this, new Point (450, 50), info);
 
            string [] strs = new string[] {"Sides", "Color"};
            Size [] sizeStrs = Auxi_Geometry .RoundMeasureStrings (this, strs);
            CommentedControl ccSides = new CommentedControl (this, numericUD_Sides, 4 + sizeStrs [0] .Width / 2, 0.5, strs [0]);
            CommentedControl ccColor = new CommentedControl (this, panelColor, 4 + sizeStrs [1] .Width / 2, 0.5, strs [1]);
            List<ElementInsideDependentFrame> elems = new List<ElementInsideDependentFrame> ();
            elems .Add (new ElementInsideDependentFrame (ccSides));
            elems .Add (new ElementInsideDependentFrame (ccColor));
            elems .Add (new ElementInsideDependentFrame (new FramedControl (btnAdd)));
            df = new DependentFrame (this, elems, 12, "New polygon");  
            RenewMover ();
        }
 // -------------------------------------------------        Click_btnAdd
 private void Click_btnAdd (object sender, EventArgs e)
 {
     PerforatedPolygon poly = new PerforatedPolygon ((int) numericUD_Sides .Value, Auxi_Geometry .Middle (this .ClientRectangle),
                                                     50, 150, clrNew, 0);
     figures .Insert (0, poly);
     RenewMover ();
     Invalidate ();
 }