1

フレームを広範囲に使用するアプリケーションがあり、その時点でアクティブなフォームに応じて特定のボタンを非表示/表示する必要があります。ボタンを適切に整理するために、ボタンをパネルに配置し、フォームごとに必要に応じてパネルを表示または非表示にしました。私の問題は、各フォームが最初に作成されたときです。フレーム上のパネルは、どの順序で配置するかを明示的に伝えていても、順不同です。フォームを非表示にして再表示すると、パネルは正しい順序になります。最初から適切な順序でそれらを維持する方法について何か提案はありますか?

4

5 に答える 5

3

パネルに明示的な位置を指定する代わりに、配置を指定してみてください。フォームのサイズを変更すると、サイズを変更するのに適しています。

于 2009-06-06T03:28:52.890 に答える
1

パネルの親としてスタックパネル (またはフローパネルでしたか?) を使用することもできます。そうすれば、操作するポジションの代わりに注文ができます。

于 2009-06-06T08:51:25.357 に答える
1

おそらく、DevExpress LAyoutControl を見ることができますか? 特定のグループ/パネルを表示または非表示にしても、常に見栄えのするインターフェイスを作成するのに役立ちます。必要に応じて、インターフェイスの実行時のカスタマイズも可能です。

于 2009-06-06T11:27:45.463 に答える
0

私はこの問題を抱えていましたが、解決策は FormCreate (またはフレームの CMShowingChanged メソッド) でこれを行うことであることがわかりました。

MyPanel1.Align := alNone;
MyPanel2.Align := alNone;
MyPanel1.Align := alBottom;
MyPanel2.Align := alBottom;

必要な順序で復元 - これにより、順序が視覚的に整理されたように見えました。

于 2009-06-07T17:09:36.767 に答える
0

座標ごとに整理してみてください。つまり、上と左を設定します。パネルが整列していない限り、これは常に機能します (ただし、少し手間がかかります)。

于 2009-06-06T11:30:46.783 に答える