行を動的に追加する自動スクロール TableLayoutPanel があります。各行の高さを TableLayoutPanel の表示領域の 1/3、つまり、4 番目のパネルの追加で展開されて自動スクロールが開始される前のパネルの元の高さにしたいと思います。リーチ行の高さを手動で設定し、絶対高さとして設定しますが、TableLayoutPanel のサイズは変更できます。その場合、サイズ変更イベントを処理し、各行の絶対高さを再計算できますが、もっと良い方法があるかどうか疑問に思っています。行の高さを表示パネル領域のパーセンテージとして指定する方法はありますか、それとも手動で計算して絶対的な高さのルートを使用する必要がありますか?
1600 次
2 に答える
2
TableLayoutPanel.RowStyle.Percent
行の高さは、テーブルの高さのパーセントとして解釈されます
2 つの行を持つテーブルがあり、それぞれがパネルの 50% を占めており、3 つ目を追加してすべてを 33% に調整したい場合:
tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles[0].Height = 33F;
this.tableLayoutPanel1.RowStyles[1].Height = 33F;
this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
于 2012-06-20T14:35:53.710 に答える
1
トップダウンのFlowLayoutPanelに必要なものを実装し、Top、Down、Left、Rightを固定して、フォームに合わせてサイズを変更しました。最初のサブパネルが FlowLayoutPanel に追加され、FLP の幅よりわずかに小さい幅が割り当てられます。後続のすべてのサブパネルには Dock スタイルの塗りつぶしが与えられるため、その幅は最初のパネルと自動的に一致します。すべてのパネルには FLP.Height / 3 の高さが割り当てられ、必要に応じてサブパネルの高さを再計算するための FLP のサイズ変更イベントのハンドラーがあります。
コメントして回答してくれたすべての人に感謝します。あなたの答えは他の人に役立つので、私はあなたの答えを支持していますが、私の特定の問題を解決しませんでした.
于 2012-06-20T18:10:05.233 に答える