С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
2 / 2 / 0
Регистрация: 11.12.2013
Сообщений: 58

Перемещение объекта по форме за мышью

22.03.2014, 15:20. Показов 4716. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, мне необходимо реализовать движение объекта за мышкой, без нажатия по кнопке, т.е. я просто вожу мышкой по форме а объект таскается за ней (форма не во весь экран, размер пока что 450х500 (просто чтобы было понятно почему такие цифры

так определены у меня координаты объекта
C#
1
2
3
4
class Objects
    {
        public Point Position; // Положение
     ...
хотел сделать так (нужно лишь движение по оси Х) но объект выходит за рамки формы, +надо сделать так чтобы при возвращении мышки на форму объект немедленно перемещался под указатель мыши
C#
1
2
3
4
5
void Game_MouseMove(object sender, MouseEventArgs e)
        {
            if ((rock.Position.X <= 324) && (rock.Position.X > 0))
                rock.Position.X = MousePosition.X;
        }
проблема еще вот в чем, допустим я запускаю приложение, объект сразу узнав коры мышки подстроился под неё и будет вечно на таком же расстоянии от ней по оси X

Добавлено через 3 часа 18 минут
разобрался с движением за мышкой, объясните как сделать чтобы не вылетал за рамки формы объект
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2014, 15:20
Ответы с готовыми решениями:

Перемещение нарисованного объекта по форме мышью
В чем, собственно, проблема. Необходимо реализовать передвижение мышью нарисованной линии по форме. Я себе это представляю примерно...

Перемещение объекта по форме
Добрый день. Столкнулся с некоторыми проблемами. Изучаю С# самостоятельно не давно. Пытаюсь сделать так что бы некий объект, назовем его...

Перемещение объекта по форме
В общем, пишу программу просто для получения навыков, которая бы при нажатии кнопок стрелок перемещала компонент на определённое число...

8
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.03.2014, 15:50
Если Координаты_курсора.x < ДлинаФормы-ДлинаОбъекта, тогда КоординатыОбъекта.x = Координаты_курсора.x, иначе КоординатыОбъекта.x = ДлинаФормы-ДлинаОбъекта...

Ну и для y также.
1
2 / 2 / 0
Регистрация: 11.12.2013
Сообщений: 58
22.03.2014, 17:36  [ТС]
это только в одну сторону, а в другую как? чтобы оно сразу обробатывалось, в один if запихивать бесполезно
я ведь так же делал как и вы сказали (в шапке как раз код)
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.03.2014, 17:40
Ну добавьте несколько условий, в чем проблема то? И все же, у вас записано не то же, что у меня.
0
2 / 2 / 0
Регистрация: 11.12.2013
Сообщений: 58
22.03.2014, 18:20  [ТС]
ну нету "иначе", ну добавил я его и ничего не изменилось, а несколько условий не решает проблему (считаете что настолько тупой что даже не пробовал?)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.03.2014, 19:25
el_razor, код из шапки должен работать

покажите больше кода
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.03.2014, 20:04
Как бы проверяется позиция объекта, а не позиция мыши. И на основании этой проверки устанавливаются либо нет новые координаты. Вопрос зачем? Логика очень плохо прослеживается.
0
2 / 2 / 0
Регистрация: 11.12.2013
Сообщений: 58
22.03.2014, 22:45  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 void Game_MouseMove(object sender, MouseEventArgs e)
        {
            Cursor.Hide();
            if (MousePosition.X < 900)
            {
                if (MousePosition.X > 0)
                    rock.Position.X = MousePosition.X - 140;
                else
                    rock.Position.X = 0;
            }
            else
                rock.Position.X = 794;
                    
        }
объект вылетает слева (за границу формы) как и раньше, а еще если так проверять то объект может не успевать за мыщью, тогда курсор вылетает быстрее за форму, а объект остается стоять посередине формы, дак как ограничить передвижение курсора?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
23.03.2014, 04:49
http://msdn.microsoft.com/en-u... s.85).aspx

Добавлено через 1 минуту
Можно тупо по таймеру координаты мыши смотреть...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2014, 04:49
Помогаю со студенческими работами здесь

Перемещение объекта мышью
всем привет! нужно сделать перемещение объекта мышью по горизонтали, принцип знаю. при mousedown ставиться флаг, при mouseup флаг...

Перемещение объекта мышью
Вот уже облазил весь форум, а понять причину не могу... При нажатии и передвижению мыши, примитив исчезает... #include...

Перемещение объекта мышью
Как можно заставить данный объект (эллипс) перемещаться при помощи мыши? Когда кнопка мыши зажата- объект перетаскивается (как ярлык в...

Перемещение нарисованного объекта мышью
ребят нужна помощь, нужна самая простая прога чтобы двигать например круг мышкой

Перемещение объектов по форме мышью
Как можно сделать перемещение объектов на различные места на форме? Т.е, зажимаешь лкм на кнопку и перетаскиваешь ее на нужное место


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru