我需要在 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();
}