質問

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

役に立ちましたか?

解決

の代わりにパネル明示的な位置を与える、彼らに整列を与えてみてください。彼らは方法よりも優れ固執する傾向があり、そして彼らは、フォームのサイズを変更する場合は、サイズ変更のより良い仕事をする。

他のヒント

スタックパネル (またはフローパネルでしたか?) をパネルの親として使用してみることもできます。そうすれば、操作する位置ではなく順序が得られます。

たぶん、あなたはDevExpress社LAyoutControlを見て持つことができますか?それは私たちが特定のグループ/パネルを表示または非表示にした場合、常に、関係なく良く見えるインタフェースを作成するのに役立ちます。あなたがそれをしたい場合はそれも、インタフェースの実行時のカスタマイズが可能になります!

あなたは座標すなわち:トップと左を設定することにより、それらを整理しようとするかもしれません。あなたのパネルが並んでいる場合を除き、これは常に動作します(が、それは仕事のビットがかかる)。

私はこの問題を抱えていたし、私は解決策が(またはあなたのフレームのCMShowingChanged方法で)FormCreateでこれを行うことだったことが判明します:

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

あなたが必要とするために、復元 - これは、視覚的に順序を整理するように見えた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top