Esempio n. 1
0
        private void vcal_button_Click(object sender, EventArgs e)
        {
            if (vup_comboBox.Text == "" || vdown_comboBox.Text == "" || vinput_exp_textBox.Text == "")
            {
                MessageBox.Show("函数输入/上界/下界 不可为空!");
                return;
            }
            try
            {
                string   up        = vup_comboBox.Text;
                string   down      = vdown_comboBox.Text;
                string   funExp    = vinput_exp_textBox.Text;
                double   precision = 0.001 * Math.Pow(10, -v_trackBar.Value);
                Extremum extremum  = new Extremum(precision);
                extremum.ExtremumCal(double.Parse(up), double.Parse(down), funExp,
                                     out double minVal, out double maxVal);
                vminoutput_textBox.Text = minVal.ToString("f20");
                vmaxoutput_textBox.Text = maxVal.ToString("f20");

                log.Enqueue(new Log(minVal));
                if (log.Count > 5)
                {
                    log.Dequeue();
                }
                log.Enqueue(new Log(maxVal));
                if (log.Count > 5)
                {
                    log.Dequeue();
                }

                input_bindingSource.DataSource = log.ToList();
                input_bindingSource.ResetBindings(false);
                input_bindingSource2.DataSource = log.ToList();
                input_bindingSource2.ResetBindings(false);
                vup_comboBox.Text   = up;
                vdown_comboBox.Text = down;
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }