0

在 c# .net 4 表单中,每当我添加一个对象时,它的位置由它的左上角决定。这意味着,如果我调整这个对象的大小,它将从这一点开始调整大小。

我有一个图片框。如果我将宽度和高度更改为更小的值,那么图片框似乎已移动,因为它的边框现在更靠近左上角,从而移动了图片框的中心点。

我希望图片框在保持其位置的同时重新缩放 - 这意味着图片的中心点将保持不变,而大小将围绕该点拆分(一半上一半下和一半左半右)。

那可能吗?

4

1 回答 1

0

这不在我的脑海中,并且制作得很快,但类似于:

void resizeFromCenter(PictureBox box, int w, int h)
{
  var cenx = box.Left + box.Width/2;
  var ceny = box.Top + box.Height/2;
  box.Left = cenx - w/2;
  box.Width = w;
  box.Top = ceny - h/2;
  box.Height = h;
}
于 2013-03-04T09:42:33.193 回答