寻找更好的方式来改变父表单的大小

时间:2008-12-08 18:53:40

标签: .net winforms c#-2.0

我有一个简单的应用程序,显示图片拖到它上面。我希望应用程序根据它显示的图片调整自己的大小。下面的代码就是这样:

// Load the picture
Bitmap picture = new Bitmap(s);

// Calculate the size of the main form
this.Size = new Size(picture.Width + 
                       (this.pictureBox.Padding.All + 
                        this.pictureBox.Margin.All + 
                        this.tableLayoutPanel.Padding.All + 
                        this.tableLayoutPanel.Margin.All) * 2, 
                     picture.Height + 
                       (int)this.tableLayoutPanel.RowStyles[1].Height + 
                       (this.pictureBox.Padding.All + 
                        this.pictureBox.Margin.All + 
                        this.tableLayoutPanel.Padding.All + 
                        this.tableLayoutPanel.Margin.All) * 2);
 // Display the file.
 this.pictureBox.Image = picture;

它认为在我希望得到一些帮助改善这一点的地方相当明显。随着表单变得更复杂,适当大小的计算也会变得更复杂。 建议?

2 个答案:

答案 0 :(得分:4)

您可以查看表单属性:

  • Form.AutoSize
  • Form.AutoSizeMode

那些与设置PictureBox的AutoSizeMode相结合应该可以为您提供所需的效果(无需编写任何代码)。

答案 1 :(得分:3)

您可以计算旧图片和新图片之间的大小差异,然后只需调整表单的大小...只要表单上的所有其他内容保持相同的大小。< / p>