当我在运行时向表单添加picturebox时,picturebox的表现完全符合我的要求。但是当我将它添加到面板中时,pictureBox会扩展以适应图像。
以下是代码:
什么是问题?为什么会出现这个问题?
以下是代码:
private PictureBox globalPicBox = (PictureBox)null;
private void Form1_Load(object sender, EventArgs e)
{
this.globalPicBox = new PictureBox();
this.globalPicBox.Name = "a";
this.globalPicBox.Tag = (object)"a";
this.globalPicBox.SizeMode = PictureBoxSizeMode.StretchImage;
this.globalPicBox.Top = 50;
this.globalPicBox.Left = 50;
this.globalPicBox.Height = 100;
this.globalPicBox.Width = 100;
this.globalPicBox.Image = Image.FromFile(@"C:\Users\PC\Downloads\Photo.jpg");
this.globalPicBox.BorderStyle = BorderStyle.FixedSingle;
this.globalPicBox.AutoSize = true;
this.panel1.Controls.Add((Control)this.globalPicBox);
}
什么是问题?为什么会出现这个问题?
(PictureBox)
、(object)
、(Control)
),都是不必要的。 - dovidAutoSize
或SizeMode
? - noelicusAutoSize = true
时,您的意思是“调整 PictureBox 的大小与图像相同”,而不是“调整图像以适应 PictureBox”。实际上,您需要将 AutoSize 设置为 false。图像内部的调整模式由SizeMode
处理,正如您已经正确设置的那样。 - Luaan