
(重金悬赏)WPF C# 实现用鼠标手动画折线(要大概的思路和具体的代码“急用”) 150
注意:“要用C#实现”三段折线,最好能实现左键(按下抬起)开始画线,再次点击左键(按下抬起)——第一段折线画完,再次点击左键(按下抬起)——第二段折线画完,再次点击左键,...
注意:“要用C#实现”三段折线,最好能实现左键(按下抬起)开始画线,再次点击左键(按下抬起)——第一段折线画完,再次点击左键(按下抬起)——第二段折线画完,再次点击左键,第三段折线画完后,点击右键取消鼠标画线状态,如下图:
展开
2个回答
展开全部
两个分都给我吧
后台代码
bool flag = false;
private void canvas_MouseMove(object sender, MouseEventArgs e)
{
if (flag == false)
return;
polyline.Points[polyline.Points.Count - 1] = e.GetPosition(canvas);
Console.WriteLine("Move: " + polyline.Points[polyline.Points.Count - 1]);
}
private void canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
flag = true;
polyline.Points.Add(e.GetPosition(canvas));
if (polyline.Points.Count == 1)
polyline.Points.Add(e.GetPosition(canvas));
Console.WriteLine("Left Down: " + e.GetPosition(canvas));
}
private void canvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
flag = false;
Console.WriteLine("Right Down: " + e.GetPosition(canvas));
}
下面是xaml
<Canvas Name="canvas" MouseMove="canvas_MouseMove" MouseLeftButtonDown="canvas_MouseLeftButtonDown" MouseRightButtonDown="canvas_MouseRightButtonDown" Background="#FF4787E8">
<Polyline Name="polyline" Stroke="Red" StrokeThickness="3">
</Polyline>
</Canvas>
后台代码
bool flag = false;
private void canvas_MouseMove(object sender, MouseEventArgs e)
{
if (flag == false)
return;
polyline.Points[polyline.Points.Count - 1] = e.GetPosition(canvas);
Console.WriteLine("Move: " + polyline.Points[polyline.Points.Count - 1]);
}
private void canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
flag = true;
polyline.Points.Add(e.GetPosition(canvas));
if (polyline.Points.Count == 1)
polyline.Points.Add(e.GetPosition(canvas));
Console.WriteLine("Left Down: " + e.GetPosition(canvas));
}
private void canvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
flag = false;
Console.WriteLine("Right Down: " + e.GetPosition(canvas));
}
下面是xaml
<Canvas Name="canvas" MouseMove="canvas_MouseMove" MouseLeftButtonDown="canvas_MouseLeftButtonDown" MouseRightButtonDown="canvas_MouseRightButtonDown" Background="#FF4787E8">
<Polyline Name="polyline" Stroke="Red" StrokeThickness="3">
</Polyline>
</Canvas>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询