Всем привет
Как можно делать так, чтобы мышка не вышла за пределы конкретного picturebox-a или каково-то панела в VB.net windows Application.
Или еще труднее : калибровать мыш к этому конкретному...
Насчет VB.NET не скажу, но в VB 6 делалось как-то так:
Брались абсолютные координаты контрола (то есть к координатам формы прибавлялись координаты контрола). Потом через API ловились координаты мыши и через полученные абсолютные координаты и свойства контрола Height и Width отслеживалось (по таймеру, например), находится ли курсор в пределах контрола. Дальше сложнее, если не находится - через API курсор за шкварник передвигался в нужный диапазон, то есть принудительно выдавались координаты ему... но принципу
if MX>NMX then MX=NMX: if MX<NNX then MX=NNX
, где MX - Х-координата курсора, NMX - правый предел (абсолютная Х-координата контрола + его width), NNX - левый предел (просто абсолютная Х-координата контрола). Калибровка из той же серии, только, если в центр контрола, точка установки - абсолютная координата + половина ширины/высоты контрола.
Я делал через некую WindowsHookLib, скорее всего с codeproject.com. Тебе нужно будет просто обрабатывать событие мышки и, если надо запретить перемещение в каком-то направлении, ставишь e.Cancel=true и все. Перемещения не будет.