1

我正在尝试在画布上生成随机点。所以我想让屏幕上的随机点移动到一个新的随机位置,当鼠标触摸它时。我该怎么做呢??任何鼠标事件都不会发生这种情况。一个例子将不胜感激。

4

1 回答 1

1

好吧,您可以将 MouseMove 事件附加到矩形,并在此事件中处理矩形的随机定位。

更新 参考此链接中的答案 -在画布周围移动一个矩形。您需要以这种方式更新 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 事件时附加了矩形,然后在此事件中随机移动矩形。希望这对你有帮助!!

于 2012-04-15T07:19:09.960 回答