在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