private Rectangle CalculateBoxSelectRectangle (Point pt)
{
int left = Math.Min (box_select_start.X, pt.X);
int right = Math.Max (box_select_start.X, pt.X);
int top = Math.Min (box_select_start.Y, pt.Y);
int bottom = Math.Max (box_select_start.Y, pt.Y);
return Rectangle.FromLTRB (left, top, right, bottom);
}