насчет простого выделения прямоугольником все вроде просто. надо справку повнимательнее посмотреть. я такое делал.
насчет, "тааскать за углы" - ну это ручками. рисовать уголки, отслеживать перемещения курсора и так далее
в VB6 я такое делал, думаю в VB.NET не сложнее
примеры может быть найду, скину