Sruthi Suresh Ответов: 2

Перемещение прямоугольников во время выполнения


Я рисую несколько прямоугольников в своей форме windows и сохраняю их в списке прямоугольников во время выполнения.как переместить эти прямоугольники с помощью мыши, а затем сохранить их в списке прямоугольников во время выполнения, чтобы пользователь мог разместить эти прямоугольники по своему усмотрению

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

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

2 Ответов

Рейтинг:
2

CPallini

"Это не сработало- это не очень информативно. Просьба представить подробную информацию.
Во всяком случае, я полагаю, что вам не хватает преобразования с экрана в координаты клиента (или наоборот). Взгляните на События мыши в Windows Forms[^] и в Контроль.Метод PointToClient (Point) (System.Окна.Формы)[^] (для примера кода).


Рейтинг:
2

Ralf Meier

чтобы завершить решение от CPallini немного :

Если вы делаете MouseDown на своей форме, вы должны посмотреть, что фактическое положение мыши находится в координатном диапазоне одного из ваших прямоугольников.
Если да, то вы должны запомнить фактическое положение мыши относительно положения прямоугольника.
Если вы теперь переместите мышь, пока она нажата, вы можете изменить положение прямоугольника в соответствии с этим движением.
Но все это не делается автоматически - все приходится кодировать.

Чтобы быть более конкретным, вы должны улучшить свой вопрос с большим количеством дополнительной информации ... извините ... :(