在TableLayoutPanel中,默認情況下,行或列中的最後一個元素佔用剩餘空間。我怎樣才能實現倒數第二或任何其他元素佔用儘可能多空間的佈局,其中最後一個元素只佔用盡可能多的空間?C#TableLayoutPanel填充
0
A
回答
4
這取決於如何設置其他行。 假設所有其他行都是自動調整大小或固定大小,將倒數第二行的大小設置爲100%就可以達到您想要的效果。設計者生成的代碼如下所示:
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
2
我已經使用Windows Forms和.Net Framework 4測試了這個;
最簡單的解決方案似乎是創建一個表格佈局面板,並將您的控件嵌入到每個列中。完成後,將所有列的大小設置爲「AutoSize」。
然後把你列倒數第二,並設置大小爲「100%」
下面是我的設計師代碼:
tableLayoutPanel1 = new TableLayoutPanel();
tableLayoutPanel1.ColumnCount = 4;
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
請務必先嵌入您的控制,因爲,如果有在其他單元格中沒有內容,將倒數第二列設置爲100%大小,然後使用設計器將控件放入空單元格時非常棘手,因爲100%列有效地「竊取」了它們的空間。
相關問題
- 1. C#tablelayoutpanel無法刪除填充/保證金
- 2. C#從左到右填充TableLayoutPanel單元格
- 3. C# - 填充Gridview
- 4. TextBox填充C#
- 5. 填充在C++
- 6. C#TableLayoutPanel MouseLeave
- 7. c中的TableLayoutPanel#
- 8. 標籤控件未填充TableLayoutPanel中包含的單元格
- 9. TableLayoutPanel填充從上到下而不是從左到右?
- 10. C:使用填充填充圓形
- 11. C#JSON.net填充DataGridView
- 12. c#位圖填充
- 13. C#壞PKCS7填充
- 14. C++填充零的
- 15. c#listbox不填充
- 16. C#填充的DataGridView
- 17. TableLayoutPanel不顯示C#
- 18. C#填充組合框
- 19. C填充緩衝區
- 20. C# - 填充TabPage向右
- 21. C#輸出日誌填充
- 22. 填充表 - 目標-C
- 23. C#填充組合框
- 24. C++填充二維數組
- 25. C結構填充問題
- 26. 填充C++ POD結構
- 27. 目標C填充對象
- 28. Visual C++內存塊填充
- 29. c#很慢填充datagridview
- 30. C++不能填充數據
你打敗了我 - 只是! +1 – dash
感謝你們兩個,但破折號是正確的(多米尼克第一):P – arik
@DominiqueJacquel處於第一位。當我發佈我的答案時,我很驚訝,看到另一個非常相似! – dash