私はc# System Drawを初めて使用するので、私のコードを手伝ってください。私は二次方程式曲線をプロットしようとしており、曲線の 10 の座標をドットにするために「for」ループを使用しています。このコードを何度もテストしましたが、コードを開始しても何も表示されません。また、コードを実行するたびに、ArgumentException was Unhandled, Parameter is not valid with code "g.DrawCurve(aPen, Points);" というメッセージが表示されます。強調表示されます。修正に何日も費やしたこの問題について助けてください。
{
public Form1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
float a = 10, b = 30, c = 10;
double x1, x2, delta, cx1, cx2, y1, y2;
int icx1, iy1, icx2, iy2;
delta = (b * b) - (4 * a * c);
x1 = ((b * (-1)) + Math.Sqrt(delta)) / (2 * a);
x2 = ((b * (-1)) - Math.Sqrt(delta)) / (2 * a);
for (int i = (-10); i <= 10; i = i + 1)
{
cx1 = i * x1;
cx2 = i * x2;
y1 = (cx1 * cx1 * a) + (cx1 * b) + c;
y2 = (cx2 * cx2 * a) + (cx2 * b) + c;
icx1 = Convert.ToInt32(cx1);
iy1 = Convert.ToInt32(y1);
icx2 = Convert.ToInt32(cx2);
iy2 = Convert.ToInt32(y2);
Graphics g = e.Graphics;
Pen aPen = new Pen(Color.Blue, 1);
Point point1 = new Point(icx1, iy1);
Point point2 = new Point(icx2, iy2);
Point[] Points = { point1,point2 };
g.DrawCurve(aPen, Points);
aPen.Dispose();
g.Dispose();
}