Предотвращение перемещения элемента управления из его контейнера

Этот вопрос связан с другим моим вопросом, который можно найти здесьможно найти здесь, Я хотел переместитьPictureBox в родительском контейнере, который являетсяTabPage (Если это имеет какое-то значение!) Используя код ниже, движение может быть сделано:

private Point start = Point.Empty; 
private bool _mapPackageIsMoving;    

void pictureBoxPackageView_MouseUp(object sender, MouseEventArgs e) { 
  _mapPackageIsMoving = false; 
} 

void pictureBoxPackageView_MouseMove(object sender, MouseEventArgs e) { 
  if (_mapPackageIsMoving) { 
    pictureBoxPackageView.Location = new Point( 
                             pictureBoxPackageView.Left + (e.X - start.X),  
                             pictureBoxPackageView.Top + (e.Y - start.Y)); 
  } 
} 

void pictureBoxPackageView_MouseDown(object sender, MouseEventArgs e) { 
  start = e.Location; 
  _mapPackageIsMoving = true; 
} 

Теперь моя проблема в том, что этому перемещению контроля нет предела. Пользователь может перетащить элементы управления на километры от видимой областиTabPage который мой Picturebox находится внутри него. Я попытался добавить некоторые ограничения для движения, изменивMouseMove событие, как это, по крайней мере, предотвратить его выход изLeft а такжеRight видимая область вкладки:

void pictureBoxPackageView_MouseMove(object sender, MouseEventArgs e) { 
  if (_mapPackageIsMoving) { 
   //Added condition
  if (pictureBoxPackageView.Left >= 0 && pictureBoxPackageView.Right >= 0)
    pictureBoxPackageView.Location = new Point( 
                             pictureBoxPackageView.Left + (e.X - start.X),  
                             pictureBoxPackageView.Top + (e.Y - start.Y)); 
  } 
} 

Но проблема с приведенным выше кодом заключается в том, что каждый раз, когда picturebox попадает в правую или левую часть контейнера иLeft или жеRight получить равным 0, я не могу больше перемещать элемент управления.

Любые подсказки / советы по достижению ограничения этого движения внутри контейнера дляLeft, Right, Top and Bottom из коробки изображения будут оценены!

Ответы на вопрос(2)

Ваш ответ на вопрос