В чем разница между границами элемента управления и настройками X,Y, ширины, высоты элемента управления?
Итак, допустим, у меня есть панель на winform, и я хочу, чтобы она отображалась в определенной точке и должна иметь определенную ширину и высоту на winform. Плюс, я хочу сделать это во время выполнения.
Итак, в чем разница и правильный способ перемещения и установки размеров панели?
Сюда:
Panel1.bounds.X:=10;
Panel1.bounds.Y:=10;
Panel1.bounds.width:=100;
Panel1.bounds.height:=103;
Или так:
Panel1.Left := 10;
Panel1.Top := 10;
Panel1.width:=100;
Panel1.height:=103;
Или оба способа должны иметь одинаковый эффект на панели1.
Я пытаюсь выяснить, что на самом деле не так с моей программой... Хотя я задал вопрос, относящийся к моей проблеме, никто даже не пытался ответить или даже не смог оставить комментарий. Итак, я прошу кусочки и вопросы, чтобы понять мою проблему.
1 ответ
Если вы хотите установить Bounds
нужно сделать это с помощью прямоугольника. (Пожалуйста, простите за любые синтаксические ошибки в моих примерах; мой Delphi немного ржавый.)
BoundsRect: Rectangle;
BoundsRect.X = 10;
BoundsRect.Y = 10;
BoundsRect.Width := 100;
BoundsRect.Height := 103;
Panel1.Bounds := BoundsRect;
Как правило, вы будете использовать это, если вы хотите установить или изменить несколько свойств. Если вы просто хотите установить одно или два свойства, вы можете использовать Width
, Top
, так далее.
Еще одно отличие состоит в том, что каждый раз, когда вы устанавливаете одно из этих свойств (либо Bounds
или одно из отдельных свойств), это вызывает много работы за сценой (перемещение и перерисовка окна и т. д.). Настройка Bounds
Свойство из прямоугольника будет меньше работать.