Это зависит от того, является ли это приложением Windows или приложением на основе веб-браузера. В любом случае вам нужен какой-то контейнер для управления расположением элементов управления. Вы можете управлять положением элементов управления внутри контейнера с помощью их координат X и Y.
Вы бы справились с фактическим движением, используя события перетаскивания. Таким образом, у вас есть начало перетаскивания при перетаскивании (вы можете отобразить графическое заполнитель или изменить курсор) и, наконец, конец перетаскивания (установите x и y элемента управления в новое положение). Очевидно, что это не настоящие имена событий, но поиск «как обрабатывать события перетаскивания» должен начать вас.
В веб-среде, я знаю, в jquery встроена возможность перетаскивания. Так что вы можете посмотреть на это. Одна большая вещь, с которой вам нужно быть осторожным, это поддерживать позиции вашего контроля между постбэками. Я не уверен, что произойдет в этом случае.