如何改变PictureBox的大小?

Mik*_*onn 3 c# image picturebox winforms

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;
}  
Run Code Online (Sandbox Code Playgroud)

---

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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么尺寸PictureBox保持 (1, 1) 而没有改变到图像的尺寸?

Dan*_*lba 5

尝试以下操作。我正在使用这段代码,它对我有用。我不确定与你的有什么区别(也许先设置图像,然后设置大小),但它确实有效。如果它不起作用,请检查@dzendras解决方案,也许您配置了不同的东西。

Bitmap img = new Bitmap(dgOpenFile.FileName);
picture.Image = img;
picture.Size = picture.Image.Size;
Run Code Online (Sandbox Code Playgroud)