我在把一个控件拖到另一个控件上有困难。我已经成功地选择了这两个控件,但是当我尝试使用:
Mouse.Instance.Location = dragControl.ClickablePoint;
Mouse.LeftDown();
Mouse.Instance.Location = dropControl.ClickablePoint;
Mouse.LeftUp();拖动没有发生,鼠标移动。但控制装置停留在最初的位置。
我也尝试过使用:
Mouse.Instance.DragAndDrop(dragItem, dragItem.ClickablePoint, dropItem, dropItem.ClickablePoint);还是没有运气。
我做了一些实验和一点,并使它工作,但我已经失去了资源,我找到了一个可行的解决方案(我删除了我的工作代码-经验教训)。
任何帮助都将不胜感激!
提前感谢!
更新6/15
好吧,所以我一直在研究这件事。由于某种原因,该控件似乎并没有被实际拖动。鼠标在移动,但是控件没有被移动。
发布于 2015-06-15 18:35:05
好吧,我不知道为什么White DragAndDrop功能不能工作(或者手动使用leftDown、move、leftUp)。
但我确实找到了解决办法。
本质上,我重写了白色拖放函数,每一步之间都有一个延迟。如下所示:
guiObject.Click();
Mouse.LeftDown();
var stepCount = 10;
var stepAmount = (float) (guiObject.ClickablePoint.Y - targetObject.ClickablePoint.Y)/stepCount;
for (var i = 0; i < stepCount; i++)
{
Mouse.Instance.Location = new Point(Mouse.Instance.Location.X, Mouse.Instance.Location.Y - stepAmount);
Thread.Sleep(75); // I played around with the values and 75 seems to work without being too slow
}
Mouse.LeftUp();希望这能帮助其他可能有这个问题的人。我不知道我为什么要拖延,但这有效。
https://stackoverflow.com/questions/30792634
复制相似问题