2

我需要在 c# 中使用 zedgraph 绘制图形,但不起作用。

我的代码:

变量:

double x1, x2;

事件button1_Click处理程序:

private void button1_Click(object sender, EventArgs e) {
  double a, b, c, dl;
  a = float.Parse(textBox1.Text);
  b = float.Parse(textBox2.Text);
  c = float.Parse(textBox3.Text);
  dl = (b * b) - (4 * a * c);
  if (dl < 0) {
    MessageBox.Show("Error");
  } else if (dl > 0) {
    x1 = (-b - Math.Sqrt(dl)) / (2 * a);
    x2 = (-b + Math.Sqrt(dl)) / (2 * a);
    textBox4.Text = x1.ToString();
    textBox5.Text = x2.ToString();
  } else {
    string str = (b / (2 * a)).ToString();
    textBox4.Text = str;
    textBox5.Text = str;
  }
}

事件button2_Click处理程序:

private void button2_Click(object sender, EventArgs e) 
{
  // This is to remove all plots
  zedGraphControl1.GraphPane.CurveList.Clear();

  // GraphPane object holds one or more Curve objects (or plots)
  GraphPane myPane = zedGraphControl1.GraphPane;
  PointPairList spl1 = new PointPairList();
  // Add cruves to myPane object
  LineItem myCurve1 = myPane.AddCurve("Equation", spl1, Color.Blue, SymbolType.None);
  myCurve1.Line.Width = 5.0F;
  myPane.Title.Text = "Graph";
  for (int i = -5; i < 8; i++) 
  {
    double y = (i - x1) * (i - x2);
    spl1.Add(i, y);
  }

  //I add all three functions just to be sure it refeshes the plot.   
  zedGraphControl1.AxisChange();
  zedGraphControl1.Invalidate();
  zedGraphControl1.Refresh();

}
4

0 回答 0