在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. TextBox填充C#
- 4. 填充在C++
- 5. c中的TableLayoutPanel#
- 6. C#TableLayoutPanel MouseLeave
- 7. C#JSON.net填充DataGridView
- 8. C#填充的DataGridView
- 9. c#位圖填充
- 10. c#listbox不填充
- 11. C++填充二維數組
- 12. Vector_push不填充矢量(C++)
- 13. c#很慢填充datagridview
- 14. 無填充RSA加密C#
- 15. 填充二維矢量C++
- 16. FREAD填充串在C
- 17. C#WPF:填充DataGrid失敗
- 18. C#使用TabControl填充TreeView
- 19. C結構填充問題
- 20. 填充表 - 目標-C
- 21. c#從combobox填充checkelistbox SQL
- 22. C#從dataGridView1填充ComboBox1
- 23. 目標C填充對象
- 24. 填充錯誤 - 在C
- 25. C++中的結構填充
- 26. C#RSA沒有填充
- 27. C++填充基質升壓
- 28. 填充數據表 - C#
- 29. 填充C++ POD結構
- 30. C#輸出日誌填充
你打敗了我 - 只是! +1 – dash
感謝你們兩個,但破折號是正確的(多米尼克第一):P – arik
@DominiqueJacquel處於第一位。當我發佈我的答案時,我很驚訝,看到另一個非常相似! – dash