Как отметил Ханс Пассант, важно понимать разницу между типом значения и ссылочным типом.Поскольку System.Drawing.Rectangle не имеет установщиков для левого, верхнего, правого или нижнего значений, вы просто не можете установить для них какие-либо значения, а только прочитать то, что уже есть.Единственный раз, когда они обновляются, это когда вы на самом деле создаете объект Rectangle, передавая высоту, ширину и точки XY ИЛИ устанавливая X, Y, высоту и / или ширину свойств прямоугольника.
Так как в моей программе яТолько пытаясь определить границу или область для рисования формы прямоугольника, я устанавливаю X, Y, ширину или высоту.Работает нормально.Что касается определения ширины и высоты прямоугольника, вам не нужно один раз устанавливать его ширину и высоту один раз.Каждый раз, когда вы сбрасываете значение прямоугольника X и / или Y, оно сохраняет свою ширину и высоту.Таким образом, он знает, каковы его правые и нижние значения.
Например, вы можете сделать это:
dragRect.X := 100;
dragRect.width := 10;
, но вы не можете сделать это:
dragRect.left := 100;
dragRect.right :=110;