Как я могу изменить размер PictureBox? - PullRequest
1 голос
/ 04 января 2011
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 ]

3 голосов
/ 04 января 2011

Попробуйте следующее.Я использую этот код, и он работает на меня.Я не уверен, в чем разница с вашей (возможно, сначала установите изображение, а затем размер), но это действительно работает.Если это не работает, проверьте решение @dzendras, возможно, вы настроили что-то другое.

Bitmap img = new Bitmap(dgOpenFile.FileName);
picture.Image = img;
picture.Size = picture.Image.Size;
1 голос
/ 04 января 2011

У вас есть свойство pictureBox1.MaximumSize, отличное от {0; 0}?Например, когда он установлен в {1; 1}, он не будет больше этого значения, даже если вы намеренно установите его размер (как в обработчике).

Надеюсь, это поможет.

0 голосов
/ 05 июня 2015

Изменение в окне свойств элемента управления Picturebox.нажмите на картинку.установить размер поля.

...