我试图在画布上生成随机点。因此,当鼠标触摸它时,我希望屏幕上的随机点移动到新的随机位置。我该怎么做呢??任何鼠标事件都不会发生这种情况。一个例子将不胜感激。
答案 0 :(得分:1)
您可以使用矩形附加MouseMove事件,并在此事件中处理矩形的随机定位。
<强>更新强> 请参阅此链接中的答案 - Move a rectangle around a canvas。您需要以这种方式更新Add Click事件 -
private void Add_Click(object sender, RoutedEventArgs e)
{
Point newPoint;
Rectangle rectangle;
newPoint = GetRandomPoint();
rectangle = new Rectangle {Width = 4, Height = 4, Fill = Brushes.Red};
rectangle.MouseMove += new MouseEventHandler(rectangle_MouseMove);
m_Points.Add(newPoint);
PointCanvas.Children.Add(rectangle);
Canvas.SetTop(rectangle,newPoint.Y);
Canvas.SetLeft(rectangle,newPoint.X);
}
void rectangle_MouseMove(object sender, MouseEventArgs e)
{
Rectangle rectangle = sender as Rectangle;
Point newPoint;
newPoint = GetRandomPoint();
Canvas.SetTop(rectangle, newPoint.Y);
Canvas.SetLeft(rectangle, newPoint.X);
}
我在创建它时附加了带矩形的MouseMove事件,然后在此事件中随机移动矩形。希望这可以帮助你!!