自动调整的TableLayoutPanel [英] Automatically resize TableLayoutPanel
本文介绍了自动调整的TableLayoutPanel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个编程方式创建的TableLayoutPanel。它工作正常,但我无法找到的东西:自动我怎么可以把它的大小列时窗体大小?所述面板被设置为Dock.Top并且当我调整每列作为百分数上浆的形式代替,只有最后一列的增长。我能做些什么了呢?以下是我添加ColumnStyle为每个列:
this.tablePanelFilter.ColumnStyles.Add(
新ColumnStyle(SizeType.Percent,Convert.ToSingle(
Math.Ceiling((十进制)×100 /(十进制)列数))));
解决方案
添加此code到form.Resize事件解决了这个问题:
this.tablePanelFilter.ColumnStyles.Clear();
的for(int i = 0; I< this.tablePanelFilter.ColumnCount;我++)
{
ColumnStyle C =新ColumnStyle();
c.SizeType = SizeType.Percent;
c.Width = Convert.ToSingle(Math.Ceiling((十进制)100 /(十进制)this.tablePanelFilter.ColumnCount));
this.tablePanelFilter.ColumnStyles.Add(C);
}
I have a programmatically created TableLayoutPanel. It works fine but I couldn't find something: how can I make it size columns automatically when the form is resized? The panel is set to Dock.Top and when I resize the form instead of sizing every column as percents, only last column grows. What can I do for this? Here's how I add ColumnStyle for each column:
this.tablePanelFilter.ColumnStyles.Add(
new ColumnStyle(SizeType.Percent,Convert.ToSingle(
Math.Ceiling((decimal)100 / (decimal)columnCount))));
解决方案
Adding this code to form.Resize event solved the problem:
this.tablePanelFilter.ColumnStyles.Clear();
for (int i = 0; i < this.tablePanelFilter.ColumnCount; i++)
{
ColumnStyle c = new ColumnStyle();
c.SizeType = SizeType.Percent;
c.Width = Convert.ToSingle(Math.Ceiling((decimal)100 / (decimal)this.tablePanelFilter.ColumnCount));
this.tablePanelFilter.ColumnStyles.Add(c);
}
这篇关于自动调整的TableLayoutPanel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文