【问题标题】:PictureBox image does not shrink, but PictureBox itself expand to fit the imagePictureBox 图像不会缩小,但 PictureBox 本身会展开以适合图像
【发布时间】:2014-01-09 13:27:35
【问题描述】:

当我在运行时向表单添加图片框时,图片框的行为与我想要的完全一样。但是当我将它添加到面板时,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);
}

有什么问题?为什么?

【问题讨论】:

  • 提示,与问题无关:所有 casts in your code ((PictureBox)、(object)、(Control)`) 都是不必要的
  • 我已经运行了你的代码并且它工作正常 - 图片框保持 100x100 像素并压扁我的图片。也许您在代码中的其他位置调整图片框以停靠或更改AutoSizeSizeMode
  • 我也检查了它,它运行良好。面板的属性是什么?
  • 这里一样...工作正常。
  • 您是否尝试过更改Dock 属性?

标签: c# .net winforms picturebox


【解决方案1】:

根据您的编辑...设置globalPicBox.AutoSize = false,它将起作用。
如果不是,请检查您的代码的其余部分以了解对globalPicBoxAutoSize, SizeMode and Dock 参数的更改,希望您能找到答案!

【讨论】:

    【解决方案2】:

    简单设置globalPicBox.SizeMode=Strech 图片会缩小或拉伸以适应图片框的大小,您的图片框不会扩大或缩小,它会保持相同的大小

    【讨论】:

      猜你喜欢
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      相关资源
      最近更新 更多