11

この問題は、説明よりも実証されているため、実際の問題を確認するために使用される Visual Studio 2010 プロジェクトでgit リポジトリをセットアップしました。

ComboBox コントロール ( comboField) を TableLayout コントロール ( ) に追加したプロジェクトがありtableLayoutPanel1ます。DockComboBoxのプロパティを、Fill配置された TableLayout コントロールのセルを埋めるように設定しました。また、配置された Form を埋めるようDockに、TableLayout コントロールのプロパティを に設定しましたFillの上。ComboBox の幅は現在 193 ピクセルです。

フォームを実行して幅を広げると、予想どおり ComboBox のサイズが大きくなります。フォームのサイズを縮小すると、元のサイズ (193 ピクセル) になるまでComboBox のサイズが縮小されます。その時点で、ComboBox の幅はそれ以上減少せず、コントロールの右側が切り取られます。これは私の予想とは逆です。no がMinimumSize指定されている場合、ComboBox の幅はゼロになります。MinimumSizeTableLayout コントロールなど、フォーム上の他のコントロールに対しても指定されていません。

関連する場合、TableLayout の最初の列の幅はAbsolute100 ピクセルのサイズに設定され、TableLayout の 2 番目の列の幅は に設定されていAutoSizeます。

このフォームが私の期待に反して動作している理由を明らかにし、これを希望どおりに機能させる方法についてアドバイスできますか? どんな助けでも大歓迎です。

4

2 に答える 2

11

あなたのコードをダウンロードして、この変更を行いました。それは今動作します -

2列目のSizeTypeをパーセントにして100%にする

デザイナーコード:-

this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));

ここに画像の説明を入力

于 2012-06-15T13:09:02.307 に答える