0

行を動的に追加する自動スクロール TableLayoutPanel があります。各行の高さを TableLayoutPanel の表示領域の 1/3、つまり、4 番目のパネルの追加で展開されて自動スクロールが開始される前のパネルの元の高さにしたいと思います。リーチ行の高さを手動で設定し、絶対高さとして設定しますが、TableLayoutPanel のサイズは変更できます。その場合、サイズ変更イベントを処理し、各行の絶対高さを再計算できますが、もっと良い方法があるかどうか疑問に思っています。行の高さを表示パネル領域のパーセンテージとして指定する方法はありますか、それとも手動で計算して絶対的な高さのルートを使用する必要がありますか?

4

2 に答える 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 に答える