1
我試圖在畫布上生成隨機點。所以我希望屏幕上的隨機點移動到一個新的隨機位置,當鼠標觸摸它。我該怎麼做呢??這不會發生任何鼠標事件。一個例子,將不勝感激。當鼠標到達點的位置時移動隨機物體
我試圖在畫布上生成隨機點。所以我希望屏幕上的隨機點移動到一個新的隨機位置,當鼠標觸摸它。我該怎麼做呢??這不會發生任何鼠標事件。一個例子,將不勝感激。當鼠標到達點的位置時移動隨機物體
那麼你可以用矩形附加MouseMove事件,並處理這個事件中矩形的隨機定位。
更新 參考此鏈接中的答案 - Move a rectangle around a canvas。您需要更新以這種方式添加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事件。希望這可以幫助你!
你可以顯示一個例子? – user1221876 2012-04-15 07:52:24
你在哪個階段失敗?可以顯示一些代碼嗎? – Tigran 2012-04-14 21:17:50
以及我正在嘗試使用此代碼http://stackoverflow.com/questions/3643639/move-a-rectangle-around-a-canvas但我想改變矩形的位置到一個新的隨機位置,當鼠標靠近或接觸它 – user1221876 2012-04-14 21:19:37
你需要偶爾讀一下位置,例如看到[鏈接](http://stackoverflow.com/questions/1316681/getting-mouse-position-in-c-sharp) – Casperah 2012-04-14 21:33:44