0

因此,假设我在 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;

或者两种方式都应该在 panel1 上产生相同的效果。

我试图弄清楚我的程序到底出了什么问题……尽管我已经针对我的问题提出了一个特定的问题,但没有人试图回答甚至可以发表评论。所以,我在问一些问题来理解我的问题。

4

1 回答 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属性将减少工作量。

于 2013-03-05T19:22:49.673 回答