私は現在、Windowsフォームアプリケーションを使用してC#で簡単なペイントプログラムを作成しようとしています。ToArray関数を使用してポイントのリストを配列に変換すると、一般的な「ArgumentExceptionが処理されませんでした:パラメーターが無効です」というエラーが発生します。私は以前にこれを行ったことがあることを知っています、そしてそれはうまくいきました、私が気付いていないDrawLines関数について何か特別なことがありますか?以下はコードで、問題の行はpanel1_Paintイベントの最後の行です。あなたが提供できるどんな助けにも前もって感謝します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GetSig
{
public partial class Form1 : Form
{
bool paint = false;
List<Point> myPointList = new List<Point>();
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
paint = true;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (paint)
{
myPointList.Add(e.Location);
panel1.Invalidate();
}
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
paint = false;
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLines(Pens.Black, myPointList.ToArray());
}
}
}