0
不幸的是,調整大小期間的圖片框跳到了下角。 我讀到我需要設置Docker和Anchor的東西,但我不知道如何。如何在不改變其中間座標的情況下調整圖片框的大小
不幸的是,調整大小期間的圖片框跳到了下角。 我讀到我需要設置Docker和Anchor的東西,但我不知道如何。如何在不改變其中間座標的情況下調整圖片框的大小
您的Location
(x,y)指的是控件的左上角。調整PictureBox的大小時,除非您還更改位置,否則只有右下角會移動。
您是否更改了代碼的大小?如果是這樣,你可以使用一個輔助方法來做到這一點。如果圖像變大,則圖像需要左移寬度的一半,如果寬度變得更小(相同邏輯適用於高度),則需要向右移動寬度的一半。
private void ChangePictureBoxSize(int newWidth, int newHeight)
{
// these will be negative if picturebox is getting bigger
int changeInWidth = pictureBox1.Width - newWidth;
int changeInHeight = pictureBox1.Height - newHeight;
// will shift left and up if picturebox is getting bigger
int newX = pictureBox1.Location.X + (changeInWidth/2);
int newY = pictureBox1.Location.Y + (changeInHeight/2);
pictureBox1.Location = new Point(newX, newY);
pictureBox1.Size = new Size(newWidth, newHeight);
}