用户在Visual Studio C#中绘制一条直线,并与鼠标一起移动



用户应该能够在面板上绘制一条直线,类似于在油漆中画一条直线。

用户单击面板,当他移动鼠标时,线也应与鼠标一起移动(即类似于在油漆中绘制了星光线),当用户发布时,鼠标应从该行绘制。单击此发行点的原始点。

即不是免费的手部线。

有什么动画吗?

这怎么样?:

public class LinePanel : Panel
{
    public LinePanel()
    {
        this.MouseDown += (src, e) => { LineStartPos = LineEndPos = e.Location; Capture = true; Invalidate(); };
        this.MouseMove += (src, e) => { if (Capture) { LineEndPos = e.Location; Invalidate(); } };
        this.MouseUp += (src, e) => { if (Capture) { LineEndPos = e.Location; } Capture = false; Invalidate(); };
    }
    private Point LineStartPos, LineEndPos;
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        if (LineStartPos != LineEndPos)
            e.Graphics.DrawLine(new Pen(Color.Black, 2), LineStartPos, LineEndPos);
    }
}

要测试您只需在表单的控件集合中添加一个新的linePanel(),然后将位置/大小或锚点/码头参数设置为大小。

最新更新