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;

通常、複数のプロパティを設定または変更する場合は、これを使用します。1つまたは2つのプロパティを設定するだけの場合は、、などを使用できWidthますTop

もう1つの違いは、これらのプロパティの1つ(または個々のプロパティの1つ)を設定するたびBoundsに、バックグラウンドで多くの作業(ウィンドウの移動や再描画など)が発生することです。Bounds長方形からプロパティを設定すると、作業が少なくなります。

于 2013-03-05T19:22:49.673 に答える