每次发生 MouseMove 事件时,我都会尝试在鼠标后面制作两条线。我可以为事件创建两条线,但问题是它们将为每个 MouseMove 创建两条线。这是我的代码。我正在使用 WPF 和 C#。
private void CanvasMouseMove(object sender, MouseEventArgs e)
{
double xPos = e.GetPosition(m_Grid).X;
double yPos = e.GetPosition(m_Grid).Y;
Line vertLine = new Line();
Line horzLine = new Line();
vertLine.X1 = xPos;
vertLine.Y1 = 0;
vertLine.X2 = xPos;
vertLine.Y2 = m_Grid.Height;
horzLine.X1 = 0;
horzLine.Y1 = yPos;
horzLine.X2 = m_Grid.Width;
horzLine.Y2 = yPos;
vertLine.StrokeThickness = 1;
horzLine.StrokeThickness = 1;
vertLine.Stroke = Brushes.Black;
horzLine.Stroke = Brushes.Black;
m_Grid.Children.Add(vertLine); //m_Grid is my Canvas
m_Grid.Children.Add(horzLine);
m_Grid.UpdateLayout();
}