如何更改PictureBox的大小?

时间:2011-01-04 12:01:56

标签: c# winforms image picturebox

partial class Form1
{       

    //hidden

    private void InitializeComponent()
    {
        this.picture = new System.Windows.Forms.PictureBox();

        //hidden

        this.picture.Size = new System.Drawing.Size(1, 1);

        //hidden
    }

    #endregion

    private System.Windows.Forms.PictureBox picture;
    private System.Windows.Forms.Button btnLoad;
    private System.Windows.Forms.OpenFileDialog dgOpenFile;
    private System.Windows.Forms.Panel panel1;
}  

---

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {            
    }

    private void btnLoad_Click(object sender, EventArgs e)
    {
        if (dgOpenFile.ShowDialog() == DialogResult.OK)
        {
            Bitmap img = new Bitmap(dgOpenFile.FileName);
            picture.Width = img.Width;
            picture.Height = img.Height;
            picture.Image = img;
        }
    }
}

为什么PictureBox的大小保持不变(1,1)并且不会更改为图像的大小?

3 个答案:

答案 0 :(得分:3)

尝试以下方法。我正在使用此代码,它对我有用。我不确定与你的有什么不同(可能首先设置图像然后再设置尺寸),但它确实有效。如果它不起作用,请检查@dzendras解决方案,也许您已经配置了不同的东西。

Bitmap img = new Bitmap(dgOpenFile.FileName);
picture.Image = img;
picture.Size = picture.Image.Size;

答案 1 :(得分:1)

您是否将pictureBox1.MaximumSize设置为{0; 0}以外的任何其他值? 例如,当它被设置为{1; 1}时,即使你故意设置了它的大小(比如在处理程序中),它也不会比这更大。

希望这有帮助。

答案 2 :(得分:-1)

更改picturebox控件的属性窗口。 点击图片框。 设置大小字段。