private void btnGanancia_Click(object sender, EventArgs e)
        {
            btnGuardar.Enabled = false;

            limpiar();

            FrmIngresoFormula frmIngresoFormula = new FrmIngresoFormula();

            Formula formulaNueva = new Formula();

            if (frmDiagramaBloques.TipoControlador == "PID")
            {
                formulaNueva.K = (double)((double)nudGanancia.Value * frmDiagramaBloques.ControladorPIDSinK);
            }
            else
            {
                if (frmDiagramaBloques.TipoControlador == "PI")
                {
                    formulaNueva.K = (double)((double)nudGanancia.Value /frmDiagramaBloques.T1);
                }
                else
                {
                    formulaNueva.K = (double)nudGanancia.Value;
                }
            }

            if (frmDiagramaBloques.T1 != null)
            {
                formulaNueva.T1 = frmDiagramaBloques.T1;
            }
            if (frmDiagramaBloques.T2 != null)
            {
                formulaNueva.T2 = frmDiagramaBloques.T2;
            }
            if (frmDiagramaBloques.T3 != null)
            {
                formulaNueva.T3 = frmDiagramaBloques.T3;
            }
            if (frmDiagramaBloques.T4 != null)
            {
                formulaNueva.T4 = frmDiagramaBloques.T4;
            }
            if (frmDiagramaBloques.N2 != null)
            {
                formulaNueva.N2 = frmDiagramaBloques.N2;
            }
            if (frmDiagramaBloques.Td != null)
            {
                formulaNueva.Td = frmDiagramaBloques.Td;
            }
            if (frmDiagramaBloques.Wn != null)
            {
                formulaNueva.Wn = frmDiagramaBloques.Wn;
            }
            if (frmDiagramaBloques.Psi != null)
            {
                formulaNueva.Psi = frmDiagramaBloques.Psi;
            }

            this.Formula = formulaNueva;

            establecerFormula();

            btnGanancia.Enabled = true;

            //limpiarDatos();

            frmDiagramaBloques.ingresoCorrecto = false;

            //Habilitamos los botones que correspondan.
            btnAvanzar.Enabled = true;
            btnLimpiar.Enabled = true;

            while (btnAvanzar.Enabled)
            {
                btnAvanzar.PerformClick();
            }
        }
        private void btnFormula_Click(object sender, EventArgs e)
        {
            btnGuardar.Enabled = false;

            FrmIngresoFormula frmIngresoFormula = new FrmIngresoFormula();
            frmIngresoFormula.ShowDialog();

            if (frmIngresoFormula.Formula != null)
            {
                //Limpiamos cualquier fórmula que pudo haber quedado graficada.
                limpiar();

                this.Formula = frmIngresoFormula.Formula;

                //Establecemos los valores de los parámetros y cambiamos su color.
                establecerFormula();

                //Habilitamos los botones que correspondan.
                btnAvanzar.Enabled = true;
                btnLimpiar.Enabled = true;
            }
        }
        private void btnFormula_Click(object sender, EventArgs e)
        {
            btnGuardar.Enabled = false;

            frmDiagramaBloques.ShowDialog();

            limpiar();

            if (frmDiagramaBloques.ingresoCorrecto)
            {
                FrmIngresoFormula frmIngresoFormula = new FrmIngresoFormula();

                Formula formulaNueva = new Formula();

                if (frmDiagramaBloques.TipoControlador == "PID")
                {
                    formulaNueva.K = (double)(frmDiagramaBloques.K * frmDiagramaBloques.ControladorPIDSinK);
                }
                else
                {
                    if(frmDiagramaBloques.TipoControlador=="PI")
                    {
                        formulaNueva.K = (double)(frmDiagramaBloques.K/frmDiagramaBloques.T1);
                    }
                    else
                    {
                        formulaNueva.K = frmDiagramaBloques.K;
                    }
                }

                if (frmDiagramaBloques.T1 != null)
                {
                    formulaNueva.T1 = frmDiagramaBloques.T1;
                }
                if (frmDiagramaBloques.T2 != null)
                {
                    formulaNueva.T2 = frmDiagramaBloques.T2;
                }
                if (frmDiagramaBloques.T3 != null)
                {
                    formulaNueva.T3 = frmDiagramaBloques.T3;
                }
                if (frmDiagramaBloques.T4 != null)
                {
                    formulaNueva.T4 = frmDiagramaBloques.T4;
                }
                if (frmDiagramaBloques.N2 != null)
                {
                    formulaNueva.N2 = frmDiagramaBloques.N2;
                }
                if (frmDiagramaBloques.Td != null)
                {
                    formulaNueva.Td = frmDiagramaBloques.Td;
                }
                if (frmDiagramaBloques.Wn != null)
                {
                    formulaNueva.Wn = frmDiagramaBloques.Wn;
                }
                if (frmDiagramaBloques.Psi != null)
                {
                    formulaNueva.Psi = frmDiagramaBloques.Psi;
                }

                this.Formula = formulaNueva;

                establecerFormula();

                //Ponemos el valor de la ganancia actual en el control nudGanancia.
                nudGanancia.Value = (decimal)frmDiagramaBloques.K;

                //limpiarDatos();

                frmDiagramaBloques.ingresoCorrecto = false;

                //Habilitamos los botones que correspondan.
                btnAvanzar.Enabled = true;
                btnLimpiar.Enabled = true;
            }
        }