C# 自动调整winform的大小以显示所有图片

C# 自动调整winform的大小以显示所有图片,c#,winforms,picturebox,C#,Winforms,Picturebox,我有一个图像框,用来预览我用鼠标定义的屏幕截图。我想做的是让我的winform根据图片的大小更改其大小。由于图像大小由我使用鼠标创建的矩形的大小决定,因此需要自动调整 我已经有我的图像框能够自行调整大小以显示整个图片,如何使我的winform显示整个图片框 我尝试使用以下功能,但不起作用,我查看了winform设置,但看不到需要做什么才能获得所需的功能: // "this" is the winform in question // imagePreview is the name of

我有一个图像框,用来预览我用鼠标定义的屏幕截图。我想做的是让我的winform根据图片的大小更改其大小。由于图像大小由我使用鼠标创建的矩形的大小决定,因此需要自动调整

我已经有我的图像框能够自行调整大小以显示整个图片,如何使我的winform显示整个图片框

我尝试使用以下功能,但不起作用,我查看了winform设置,但看不到需要做什么才能获得所需的功能:

  // "this" is the winform in question
  // imagePreview is the name of my picture box
  this.Width = imagePreview.Width;
  this.Height = imagePreview.Height;
试试这个:

this.Size = new Size(imagePreview.Height, imagePreview.Width);
如果表单处于最大化状态,则必须转换回“正常”窗口


你说的“没用”是什么意思?宽度和高度属性确实是您需要更改的。看看这个问题。当我创建的图像传递回我的表单时,图片框会发生变化,但winform与图像出现之前保持完全相同。如果忘记了窗口边框,则需要指定ClientSize属性。若赋值完全无效,那个么您可能对此引用有问题,请添加this.Show()。
this.WindowState = FormWindowState.Normal;
this.Size = new Size(imagePreview.Height, imagePreview.Width);