private void BtnCalcola_Click(object sender, EventArgs e)
        {
            {
                switch (flag)
                {
                case 0:
                    double raggio = G3D.GetDouble(txtRaggio.Text);
                    if (rbtnCerchio.Checked && txtRaggio.Text == "" || G3D.IsNegative(raggio))
                    {
                        MessageBox.Show("Inserisci un RAGGIO valido prima di continuare.");
                    }
                    else
                    {
                        Cerchio       c     = new Cerchio(raggio);
                        FormRisultato cForm = new FormRisultato(c.ToString(), c.CalcoloArea());
                        cForm.Show();
                    }
                    break;

                case 1:
                    double qLato = G3D.GetDouble(txtLato.Text);
                    if (rbtnQuadrato.Checked && txtLato.Text == "" || G3D.IsNegative(qLato))
                    {
                        MessageBox.Show("Inserisci un LATO valido prima di continuare.");
                    }
                    else
                    {
                        Quadrato      q     = new Quadrato(qLato);
                        FormRisultato qForm = new FormRisultato(q.ToString(), q.CalcoloArea());
                        qForm.Show();
                    }
                    break;

                case 3:
                    double tBase    = G3D.GetDouble(txtBase.Text);
                    double tAltezza = G3D.GetDouble(txtAltezza.Text);
                    if (rbtnTriangolo.Checked && txtBase.Text == "" || txtAltezza.Text == "" || G3D.IsNegative(tAltezza, tBase))
                    {
                        MessageBox.Show("Inserisci BASE e ALTEZZA validi prima di continuare.");
                    }
                    else
                    {
                        TriangoloIso  t     = new TriangoloIso(tBase, tAltezza);
                        FormRisultato tForm = new FormRisultato(t.ToString(), t.CalcoloArea());
                        tForm.Show();
                    }
                    break;

                case 4:
                    double rBase     = G3D.GetDouble(txtBase.Text);
                    double rAltezzaa = G3D.GetDouble(txtAltezza.Text);
                    if (rbtnRettangolo.Checked && txtBase.Text == "" || txtAltezza.Text == "" || G3D.IsNegative(rBase, rAltezzaa))
                    {
                        MessageBox.Show("Inserisci BASE e ALTEZZA validi prima di continuare.");
                    }
                    else
                    {
                        Rettangolo    r     = new Rettangolo(rBase, rAltezzaa);
                        FormRisultato rForm = new FormRisultato(r.ToString(), r.CalcoloArea());
                        rForm.Show();
                    }
                    break;

                case 5:
                    double pLato = G3D.GetDouble(txtLato.Text);
                    if (rbtnPentagono.Checked && txtLato.Text == "" || G3D.IsNegative(pLato))
                    {
                        MessageBox.Show("Inserisci un LATO valido prima di continuare.");
                    }
                    else
                    {
                        Pentagono     p     = new Pentagono(pLato);
                        FormRisultato pForm = new FormRisultato(p.ToString(), p.CalcoloArea());
                        pForm.Show();
                    }
                    break;

                case 6:
                    double esLato = G3D.GetDouble(txtLato.Text);
                    if (rbtnEsagono.Checked && txtLato.Text == "" || G3D.IsNegative(esLato))
                    {
                        MessageBox.Show("Inserisci un LATO valido prima di continuare.");
                    }
                    else
                    {
                        Esagono       es     = new Esagono(esLato);
                        FormRisultato esForm = new FormRisultato(es.ToString(), es.CalcoloArea());
                        esForm.Show();
                    }
                    break;

                default:
                    MessageBox.Show("Errore!");
                    break;
                }
            }
        }