позволяет пользователю изменить размер трекбара - PullRequest
0 голосов
/ 15 июля 2009

Я хотел бы позволить пользователю поиграть с размером трекбара в vb.net. Есть ли простой способ сделать это?

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

1 Ответ

1 голос
/ 27 июля 2009

Вы можете назначить новый размер трекбара следующим образом:

TrackBar1.Size = New Point(newwidth, newheight)

Один из способов обработки пользовательского интерфейса, который вы упомянули, состоит в использовании событий mousemove, mouseup и mousedown трекбара.

Когда вы получаете событие трекбара перемещения мыши левой кнопкой мыши вверх, вы можете изменить курсор в зависимости от того, находится ли он около края (стрелки влево и вправо для левого или правого края, стрелки вверх-вниз для верхнего или нижнего края) рядом с углом (диагональные стрелки) или где-то посередине трекбара (4 стрелки).

Когда вы получите событие трекбара mousedown, сохраните местоположение. Если это около края или угла, вы будете растягивать край или угол трекбара. Если он находится в центральной части, вы будете перемещать его (если это возможно).

Когда вы получаете событие трекбара при перемещении мыши левой кнопкой вниз, перемещайте и / или изменяйте размер трекбара, используя свойства размера и местоположения трекбара. Сравните текущее местоположение с тем, которое вы сохранили на событии mousedown, и растяните или сдвиньте это расстояние. Выполните изменение размера и / или перемещение в соответствии с текущей операцией, определенной местоположением в предыдущем событии mousedown (растяжение края, растяжение угла или перемещение). Вы можете нарисовать прямоугольник или изменить размер трекбэра, в зависимости от того, что вам лучше.

Когда вы получаете событие mouseup, завершите операцию, установив новый размер и расположение трекбара.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...