C#_Rectangle の Left と X

Left も X も 左上の座標 ( 隅と端だけど ) なのに、なんで二つあるんだろと思っていた。
参照専用参照及び設定 のプロパティだった。

 

青が 参照と設定が可。緑は参照のみ

プロパティ 説明
X 左上隅の x 座標
Y 左上隅の y 座標
Width
Height 高さ
Location 左上隅の x, y 座標
Size 幅・高さ
Right [ X + Width ] の x 座標
Bottom [ Y + Height ] の y 座標
Left 左端の x 座標
Top 上端の Y 座標

 

    Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
    using (Graphics graphic = Graphics.FromImage(bmp))
    {
        using (Pen pen = new Pen(Color.Black, 2))
        {
            //x座標, y座標, 幅, 高さ
            Rectangle rec = new Rectangle(10, 10, 30, 40);

            //参照のみ
            var bottom = rec.Bottom;
            var right = rec.Right;
            var left = rec.Left;
            var top = rec.Top;

            //設定 もできる
            rec.Height = 60;
            rec.Width = 70;
            rec.X = 50;    // X が変われば Left も変わる
            rec.Y = 25;    // Y も同様。 Top が変わる。
            rec.Location = new System.Drawing.Point(5, 5);
            rec.Size = new Size(20, 20);

            graphic.DrawRectangle(pen, rec);
        }
    }
    pictureBox1.Image = bmp;

 

こちらから。
https://msdn.microsoft.com/ja-jp/library/system.drawing.rectangle(v=vs.110).aspx

 

以上。