Member 13200081 Ответов: 1

Как заставить коробку с картинками перемещаться по форме?


В C# форма с PictureBox и одна кнопка.
при нажатии на кнопку поле изображения должно перемещаться от одного края формы к другому краю вокруг формы?

Пожалуйста, предоставьте простой код, если это возможно

Что я уже пробовал:

частный недействительными timer1_Tick(объект отправителя, EventArgs в электронной)
{
int x = _random. Next(1, 2);
int y = _random. Next(1, 2);

имя picturebox1.Левый += х;

if (pictureBox1. Location = новая точка (180, 0))
{
имя picturebox1.Топ += г;
}
else if (pictureBox1. Location = новая точка(180, 160)
{
имя picturebox1.Налево += -х;
}

Я потерпел неудачу во всех своих попытках. #feelinghopeless

Dave Kreskowiak

Интересно, для чего предназначено это местоположение или верхние и левые свойства, которые есть у каждого элемента управления...

Member 13200081

я пробовал использовать

_random = new Random (); / / объявленное случайное значение, присвоенное _random
pictureBox1. Location = новая точка(0, 0); / / начальное положение picture box
int x = _random. Next(0, 2); / / значение перемещения x всегда будет равно 1
имя picturebox1.Левый += х;

мое кодирование не сработало, потому что я не мог привязать picturebox к форме, которая была номером 1, и она меняла направление, как только достигала конца формы как номер 2.

Dave Kreskowiak

Было бы неплохо поместить эту информацию в свой первоначальный пост. Вы никогда не упоминали о том, чтобы попробовать какой-либо код или иметь какие-либо проблемы с написанным вами кодом.

Member 13200081

iv сделал это, теперь весь мир знает, что я не могу код #скрывает :-)

1 Ответов

Рейтинг:
9

OriginalGriff

Используйте таймер и запустите его в кнопке.
В случае Тика измените верхние и левые свойства PictureBox на небольшую величину - чем больше изменение, тем "прыгучее" движение изображения. Не забудьте проверить края его контейнера: верх против 0 при движении вверх, левый против 0 при движении влево, верх + Высота против высоты при движении вниз, левый + ширина против ширины при движении вправо.

Но это твое домашнее задание, так что я не дам тебе никакого кода!