Вы должны сохранить координаты в поле или списке, что имеет смысл для вашего дела.
И затем Invalidate Panel, это поднимет событие Paint, в котором вы сможете нарисовать свою линию из сохраненных координат.
Это единственный способ получить то, что вы, скорее всего, захотите, без особых проблем, потому что рисование в окно (панель) нестандартным способом - непростая задача.
[EDIT] Также: Не забывайте, что вы должны перерисовать всю «сцену» на этой панели каждый раз, когда событие Paint поднято, даже если вы используете Bitmap (backbuffer) в качестве резервной копии, вам нужно blit this Bitmap на Panel снова.
[EDIT] Пример:
private readonly Stack<Point> _points = new Stack<Point>();
private readonly Pen _blackPen = new Pen(Color.Black);
private void Form1_Paint(object sender, PaintEventArgs e)
{
var points = _points.ToArray();
for (int i = 1; i < points.Length; i++)
{
e.Graphics.DrawLine(_blackPen, points[i - 1], points[i]);
}
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
_points.Push(e.Location);
Invalidate();
}
Какая ошибка? Мы не волшебники! –
Ошибка - это имя отправителя, e не существует ... – Harsh
Дайте скриншоты и образцы кода. –