1

幅 900px、高さ 250px のグループ ボックスがあります。4行×5列の表形式でラジオボタンの周りに20個配置する必要があります。しかし、現在は 20 行 * 1 列の形式で提供されています。そして、グループボックスを使用してこれを行う必要があります。回答ありがとうございます。

4

1 に答える 1

1

残念ながら、グループ コントロールはオーバーフロー スタイルの子管理をサポートしていないため、これは不可能ではありません。次の 2 つのオプションがあります (それ以上の場合もあります)。

  1. カスタム グループ ボックスを作成し、「行オーバーフロー」ロジックを自分で実装します。
  2. グループ ボックスに子の TableLayoutPanel または ListBox を埋め込み、そこに子項目を追加することができます。

TableLayoutPanel オプションについては、以下のスニペットを試して、要件に一致するかどうかを確認してください。

TableLayoutPanel Table = new TableLayoutPanel();
Table.AutoSize = true;
Table.RowCount = 4;
Table.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
Table.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.AddCols;
this.Controls.Add(Table);

リストボックスの場合、このRadioListBoxを試して、次のように設定することもできます:

 listBox1.MultiColumn = true;

また、ちょうど4行になるようにリストボックスの高さを調整する必要があります。

WPF がオプションの場合、これは XAML で実行できるため簡単で、独自の ItemTemplate を簡単に実装できます。

于 2013-06-24T07:24:51.003 に答える