拖拽水平线如下
e.Sender.width =vars("x") + (e.x - vars("x"))
拖拽垂直线如下:
e.Sender.Height = vars("y") + (e.y - vars("y"))
拖拽斜向下的线如下:
e.Sender.Height = vars("y") + (e.y - vars("y"))
e.Sender.width = vars("x") + (e.x - vars("x"))
以上都可实现
但是在拖拽反向线时,也就是left,和top要动起来,就实现起来有为题请教,一下是我的方法,请指导:
斜向上:
e.Sender.top += e.y - vars("y")
e.Sender.Height += - (e.y - vars("y"))
e.Sender.width = vars("x") + (e.x - vars("x"))
水平线反向拖拽:
e.Sender.Left += (e.x - vars("x"))
e.Sender.Width += - (e.x - vars("x"))
垂直线反向:
e.Sender.Top += (e.y - vars("y"))
e.Sender.Height += - (e.y - vars("y"))
斜向上的线反向拖拽
e.Sender.Left += e.x - vars("x")
e.Sender.Width += - (e.x - vars("x"))
e.Sender.Height = vars("y") + (e.y - vars("y"))
斜向下的线反向拖拽:
e.Sender.Left += e.x - vars("x")
e.Sender.Top += e.y - vars("y")
e.Sender.Width += - (e.x - vars("x"))
e.Sender.Height += - (e.y - vars("y"))
反向拖拽的意思是拿另一头当线头拉伸,
正常情况下top、left不变好做,拉伸非top,left的一头。但是拉伸top,left一头时总是有问题。
恳请帮助解决。