Есть ли у вас проблемы с вашей текущей реализацией? Это работает, или вы просто хотите улучшить код для уже работающей функции.
Я думаю, что ваша логика выглядит просто отлично. Тем не менее, я хотел бы добавить пункт использования в Pen следующим образом:
private void chartTemperature_MouseMove(object sender, MouseEventArgs e)
{
using( Pen p = new Pen(Color.Red, 2)){
if (isDrawing)
{
Graphics g = chartTemperature.CreateGraphics();
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;
numOfMouseEvents = 0;
}
}
}
Таким образом, ваше перо будет утилизировано даже в случае возникновения каких-либо исключений после его создания и вашего вызова Dispose
.
Однако вы также можете подумать о том, чтобы сделать Pen
переменную класса, чтобы вам не приходилось создавать и располагать ее при каждом перемещении мыши.