Изменение размера прямоугольника смещает местоположение ⇐ C#
-
Anonymous
Изменение размера прямоугольника смещает местоположение
Что может быть причиной такого странного поведения на видео? Я пытаюсь изменить размер прямоугольника. Когда мышь движется плавно, кажется, что все работает так, как должно. У меня вообще нет идей.
public void HandleMouseMove (отправитель объекта, MouseEventArgs e) { если (isResizing) { Точка newPoint = Mouse.GetPosition(MainCanvas); двойной левый = Canvas.GetLeft(editor.SelectedArea); двойная вершина = Canvas.GetTop(editor.SelectedArea); двойная ширина = editor.SelectedArea.Width; двойная высота = editor.SelectedArea.Height; двойной diffX = (newPoint.X - startPoint.X); двойной diffY = (newPoint.Y - startPoint.Y); переключатель (currentCorner) { корпус Уголок.РМ: двойной newWidth = ширина + diffX; если (новая ширина < 0) { текущийУголок = Угол.LM; } еще { editor.SelectedArea.Width = newPoint.X — слева; } перерыв; корпус Corner.LM: двойной newLeft = влево + diffX; двойной newWidthLm = ширина - diffX; если (newWidthLm
Что может быть причиной такого странного поведения на видео? Я пытаюсь изменить размер прямоугольника. Когда мышь движется плавно, кажется, что все работает так, как должно. У меня вообще нет идей.
public void HandleMouseMove (отправитель объекта, MouseEventArgs e) { если (isResizing) { Точка newPoint = Mouse.GetPosition(MainCanvas); двойной левый = Canvas.GetLeft(editor.SelectedArea); двойная вершина = Canvas.GetTop(editor.SelectedArea); двойная ширина = editor.SelectedArea.Width; двойная высота = editor.SelectedArea.Height; двойной diffX = (newPoint.X - startPoint.X); двойной diffY = (newPoint.Y - startPoint.Y); переключатель (currentCorner) { корпус Уголок.РМ: двойной newWidth = ширина + diffX; если (новая ширина < 0) { текущийУголок = Угол.LM; } еще { editor.SelectedArea.Width = newPoint.X — слева; } перерыв; корпус Corner.LM: двойной newLeft = влево + diffX; двойной newWidthLm = ширина - diffX; если (newWidthLm
Мобильная версия