0

PictureBox に複数の図形を描画したい。次のコードは、フルサイズの対角線で長方形を描画することを期待していましたが、そうではありません。直線が長方形の右下隅に接続されていません。何が間違っているのでしょうか?

    private void onPaint(object sender, PaintEventArgs e)
    {
        Graphics g = e.Graphics;
        Pen p = new Pen(System.Drawing.Color.Black, 2);
        g.DrawRectangle(p, 50, 10, 400, 400);
        g.DrawLine(p, 50, 10, 400, 400);
    }
4

2 に答える 2

2

ではDrawRectangle、最後の 2 つの引数は幅と高さです。ではDrawLine、最後の 2 つの引数は final x と final y です。

したがって、開始 x と開始 y を幅と高さに追加して、対角線を取得します。

g.DrawRectangle(p, 50, 10, 400, 400);
g.DrawLine(p, 50, 10, 450, 410);
于 2013-06-16T14:58:23.673 に答える