Я пишу элемент управления в vb.net, который позволит пользователю изменить размер чего-либо.Пока что изменение размера работает, но я не могу заставить работать должным образом, вместо того, чтобы перемещаться туда, куда движется мышь, кажется, что он мерцает между двумя позициями, но я не могу понять, откуда эти позиции берутся.Это следует за мышью вроде .Я знаю, что объяснение не очень хорошее, поэтому вот код, который вы можете увидеть сами: pastebin .
Извиняюсь за это плохое качество (пожалуйста, укажите на плохие вещи, чтобы я мог исправить), но это действительно дает мне кошмар, и я не мог придумать чистый способ написатьthis.
Если у кого-нибудь есть ответы на вопрос, почему он не переместится в правильное положение, я был бы очень признателен!
Редактировать: Очистить код немного перемещение происходит там, где выбранный маркер "m".Что это за часть:
If SelectedHandle.Contains("m") Then
If e.Button = MouseButtons.None Then
SelectedHandle = ""
Else
Me.Location = e.Location
End If
End If
Изменение его на это работает, но оно переходит на середину элемента управления, в то время как я бы хотел, чтобы он двигался относительно места, где пользователь щелкнул мышью на элементе управления
If SelectedHandle.Contains("m") Then
If e.Button = MouseButtons.None Then
SelectedHandle = ""
Else
Dim newloc = Me.Location
newloc.Offset(e.X, e.Y)
newloc.Offset(-0.5 * Width, -0.5 * Height)
Me.Location = newloc
End If
End If