Вы можете назначить новый размер трекбара следующим образом:
TrackBar1.Size = New Point(newwidth, newheight)
Один из способов обработки пользовательского интерфейса, который вы упомянули, состоит в использовании событий mousemove, mouseup и mousedown трекбара.
Когда вы получаете событие трекбара перемещения мыши левой кнопкой мыши вверх, вы можете изменить курсор в зависимости от того, находится ли он около края (стрелки влево и вправо для левого или правого края, стрелки вверх-вниз для верхнего или нижнего края) рядом с углом (диагональные стрелки) или где-то посередине трекбара (4 стрелки).
Когда вы получите событие трекбара mousedown, сохраните местоположение. Если это около края или угла, вы будете растягивать край или угол трекбара. Если он находится в центральной части, вы будете перемещать его (если это возможно).
Когда вы получаете событие трекбара при перемещении мыши левой кнопкой вниз, перемещайте и / или изменяйте размер трекбара, используя свойства размера и местоположения трекбара. Сравните текущее местоположение с тем, которое вы сохранили на событии mousedown, и растяните или сдвиньте это расстояние. Выполните изменение размера и / или перемещение в соответствии с текущей операцией, определенной местоположением в предыдущем событии mousedown (растяжение края, растяжение угла или перемещение). Вы можете нарисовать прямоугольник или изменить размер трекбэра, в зависимости от того, что вам лучше.
Когда вы получаете событие mouseup, завершите операцию, установив новый размер и расположение трекбара.