2008-12-08 3 views
2

У меня есть простое приложение, в котором отображаются изображения, перетаскиваемые на него. Я хотел бы, чтобы приложение изменяло размер в соответствии с изображением, которое оно отображает. Нижеприведенный код делает это так:Ищете лучший способ изменить размер родительской формы

// 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; 

Он считает, что это довольно очевидно, где мне бы хотелось помочь вам в этом. По мере того как формы становятся более сложными, так и расчет соответствующего размера. Предложения?

ответ

3

Вы можете вычислить разницу в размере между старым изображением и новым изображением, а затем просто отрегулировать размер формы на эту сумму ... пока все остальные элементы формы остаются одинакового размера.

4

Вы посмотрите на свойства формы могут:

  • Form.AutoSize
  • Form.AutoSizeMode

Те, в сочетании с установкой AutoSizeMode в PictureBox должен дать вам эффект вы» (без необходимости писать код).

+0

Не знал о продукте AutoSize ... конечно, это похоже на лучший способ пойти сюда. – 2008-12-09 20:47:10

Смежные вопросы