4

winform (C# .NET) で非常に単純な自動サイズ変更レイアウトを取得しようとしています。TableLayoutPanels と FlowLayoutPanels を試しましたが、何も機能しません。

実行時に作成される他のユーザーコントロールのコンテナーであるユーザーコントロールがあります-子コントロールを垂直にリストしたいので、それを StackPanel と呼びました。FlowLayoutPanel、TableLayoutPanel、および Panel (各コントロールを上部にドッキング) を使用してこれを試しました。

子ユーザーコントロールは、ラベルと任意の数のラジオボタン (またはその他の標準コントロール - それは問題ではありません) で構成されます。

子コントロールが作成されると、ラベル テキストが設定され (長い場合は新しい行に折り返す必要があります)、ラジオ ボタンが追加されます。

Resize イベントを使用したドッキング/自動サイズ設定または手動サイズ設定の組み合わせはないようです。これにより、クリッピングせずにすべてを表示し、フォームでサイズを変更できます。

ありがとう!

4

1 に答える 1

2

私は両方のパネルで同様の経験をしました。

FlowLayoutPanel:

基本的に、子ウィジェットを左上に固定する必要があります。それらをドッキングしないでください。また、それらを右に固定しないでください。ラベルの自動サイズ変更は、この構成でのみ機能します。

次に、FlowLayoutPanel のサイズ変更イベントをキャプチャして、子コンポーネントのすべての幅を手動で調整できます。

于 2010-05-07T13:07:19.880 に答える