![](/img/trans.png)
[英]What's the difference between Control.Select() and Control.Focus()?
[英]What is the difference between control's bounds and setting X,Y,Width,Height of a control?
因此,可以说我在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;
或两种方式都应在面板上产生相同的效果。
我正在尝试弄清楚我的程序到底出了什么问题...尽管我问了一个特定于我的问题的问题,但是没有人试图回答甚至发表评论。 因此,我要问一点点问题来理解我的问题。
如果要设置Bounds
,则需要使用矩形。 (请原谅我示例中的任何语法错误;我的Delphi有点生疏。)
BoundsRect: Rectangle;
BoundsRect.X = 10;
BoundsRect.Y = 10;
BoundsRect.Width := 100;
BoundsRect.Height := 103;
Panel1.Bounds := BoundsRect;
通常,如果要设置或更改多个属性,可以使用该属性。 如果只想设置一个或两个属性,则可以使用Width
, Top
等。
另一个不同之处是,每次您设置这些属性之一( Bounds
或单个属性之一)时,都会在幕后进行大量工作(移动和重绘窗口等)。 从矩形设置Bounds
属性将减少工作量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.