Предотвращение выхода picturebox из нижней части формы

У меня есть проблема с моим picturebox, оставляя нижнюю часть моей формы. В основном я создаю мини-игру, где вы управляете своим кораблем с помощью клавиши со стрелками вверх и клавиши со стрелками вниз. Мне удалось предотвратить выход picturebox из верхней части формы, но я не знаю, как это сделать для нижней. Я гуглил в течение нескольких часов, проверил темы здесь, но не могу, кажется, получить повесить его. Другое дело, я предотвратил мой picturebox от выхода верхней части моей формы с линией:

if (spaceship.Top < ClientRectangle.Top) spaceship.Top = ClientRectangle.Top;

Хотя если кто-то держит клавишу со стрелкой нажатой, движение кажется довольно неуклюжим, но это работает.

Я пытался использовать spaceship.Location.Yи изменять его, но не получилось. Любая помощь была бы очень признательна.

1 ответ

  1. Попробуйте ниже. Его легко понять. Высота клиента может быть максимальной (верхняя часть космического корабля + высота космического корабля), если это больше означает, что он ушел ниже экрана. Поэтому мы должны ограничить его (высота клиента-высота космического корабля)

    if (spaceship.Top + spaceship.Height > ClientRectangle.Height) 
        spaceship.Top = ClientRectangle.Height - spaceship.Height;