1

このコードを使用して、マウス ポインターを使用して WinForm のパネルに描画しています。

public partial class Signature : Form
{
    SolidBrush color;
    List<List<Point>> _lines;
    Boolean _mouseDown;

    public Signature()
    {
        InitializeComponent();
        _lines = new List<List<Point>>();
        color = new SolidBrush(Color.Black);
        _mouseDown = false;
    }

    private void clear_Click(object sender, EventArgs e)
    {
        _lines.Clear();
        panel1.Invalidate();
    }

    private void panel1_MouseDown(object sender, MouseEventArgs e)
    {
        _mouseDown = true;
        _lines.Add(new List<Point>());
    }


    private void panel1_MouseMove(object sender, MouseEventArgs e)
    {
        if (_mouseDown)
        {
            _lines.Last().Add(e.Location);
            panel1.Invalidate();

        }
    }

    private void panel1_Paint(object sender, PaintEventArgs e)
    {
        foreach (var lineSet in _lines)
        {
            if (lineSet.Count > 1)
            {
                e.Graphics.DrawLines(new Pen(color), lineSet.ToArray());
            }
        }
    }
    private void panel1_MouseUp(object sender, MouseEventArgs e)
    {
        _mouseDown = false;
    }
}

}

私はプログラミングにかなり慣れていないので、これがばかげた質問であれば許してください。描かれた線を少し太くする方法がわかりません。誰か助けてくれませんか?

4

1 に答える 1

3

代わりにnew Pen(color)使用できますnew Pen(color, floatWidth)

例はここにあります

于 2013-04-24T21:00:39.100 に答える