1

我有一个 TableLayoutPanel 的问题,它填充了一个 userControl (DockStyle.Fill)。我遇到了一个麻烦,当这个控件被调整大小时,我需要所有单元格来改变它们的大小,但只有最后一行和最后一列改变大小(所以整个 tableLayoutPanel 填充控件)。我使用 Bounds 属性更改此控制器大小。

假设我写了以下代码:

// creating tableLayoutPanel:

private void createTableLayoutPanel(int count)
{
    tableLayoutPanel = new TableLayoutPanel();
    tableLayoutPanel.MouseClick += new MouseEventHandler(this.observe_MouseClick);
    tableLayoutPanel.AutoSize = true;
    tableLayoutPanel.ColumnCount = 3;
    tableLayoutPanel.RowCount = count;
    tableLayoutPanel.Dock = DockStyle.Fill;
    tableLayoutPanel.AutoSize = true;
    this.Controls.Add(tableLayoutPanel);
}

// resizing:

private void OnMouseWheel(MouseEventArgs e)
{
    this.Bounds = new Rectangle(this.Location.X, this.Location.Y, (int)(this.Width*newScale),(int)(this.Height*newScale));
}

谢谢你的帮助。

4

1 回答 1

4

对于每一行,使用 和 将一个项目添加到TableLayoutPanelRowStyles集合SizeType = SizeType.PercentHeight = 100 / tableLayoutPanel.RowCountColumnStyles对集合做同样的事情。

于 2010-08-10T18:32:48.280 回答