簡體   English   中英

基於可見區域百分比的自動滾動的TableLayoutPanel高度

[英]TableLayoutPanel height for autoscroll based on percentage of visible area

我有一個自動滾動的TableLayoutPanel,可以在其中動態添加行。 我希望每行的高度為TableLayoutPanel可見區域的1/3,即在添加第4個面板並自動滾動插入之前面板的原始高度。我可以計算手動設置到達行的高度並將其設置為絕對高度,但是可以調整TableLayoutPanel的大小。 在那種情況下,我可以處理調整大小的事件並重新計算每行的絕對高度,但是我想知道是否有更好的方法。 是否可以通過某種方式將行高指定為可見面板面積的百分比,還是應該手動計算絕對高度路線?

TableLayoutPanel.RowStyle.Percent

行高解釋為表格高度的百分比

如果您的表格有兩行,每行占面板的50%-並希望添加第三行,將所有行調整為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));

最后,我在自上而下的FlowLayoutPanel中實現了所需的功能,將其固定在Top,Down,Left和Right上,以使其隨窗體調整大小。 第一個子面板被添加到FlowLayoutPanel並為其分配了稍小於FLP寬度的寬度。 隨后的每個子面板都具有Dock填充樣式,因此其寬度自動匹配第一個面板。 每個面板都被分配了FLP.Height / 3的高度,我為FLP的resize事件提供了一個處理程序,以根據需要重新計算子面板的高度。

感謝所有評論和回答的人。 我贊成您的回答,因為它們將對其他人有所幫助,只是不能解決我的特定問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM