簡體   English   中英

控件的邊界與設置控件的X,Y,Width,Height有什么區別?

[英]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;

通常,如果要設置或更改多個屬性,可以使用該屬性。 如果只想設置一個或兩個屬性,則可以使用WidthTop等。

另一個不同之處是,每次您設置這些屬性之一( Bounds或單個屬性之一)時,都會在幕后進行大量工作(移動和重繪窗口等)。 從矩形設置Bounds屬性將減少工作量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM