Grid Control - PullRequest
       25

Grid Control

2 голосов
/ 13 апреля 2009

Мне было поручено создать элемент управления с горячими точками, который позволит перетаскивать изображения. Эти местоположения будут меняться в зависимости от того, что перетаскивается на элемент управления. После удаления изображения на элемент управления ему потребуется возможность переместиться в новое место (перетаскиванием или использованием клавиш со стрелками).

Самым близким примером этой функциональности, о котором я могу подумать, является рабочий стол Microsoft Windows. Когда вы перетаскиваете значок вокруг него, вы можете уронить его куда угодно (привязка к ближайшей допустимой горячей точке). Я использую .net 3.5 с использованием C #.

Я ищу идеи для создания прототипа этого элемента управления.

Каков наилучший элемент управления Winform для наследования или единственный способ использовать настраиваемый элемент управления с нуля?

1 Ответ

1 голос
/ 13 апреля 2009

Я вполне уверен, что вам придется реализовать собственный контроль, если стороннее решение не существует. Что касается того, как должна работать ваша логика, все, что вам нужно реализовать, - это обнаружение столкновений. Я не могу сказать вам конкретно, как это будет работать в вашем приложении, так как это будет зависеть от нескольких переменных (фиксированный размер горячих точек? Они расположены в симметричной сетке и т. Д.). Если все они расположены в симметричном порядке, вы сможете использовать математические функции, чтобы превратить данную пару X, Y в определенную точку доступа. Если они имеют разные размеры и макеты, то вам, вероятно, придется искать в вашей коллекции прямоугольников горячей точки (или хотя бы в подмножестве этой коллекции), чтобы найти прямоугольник, содержащий вашу точку.

...