Wie ändert man im Code die Größe einer Picturebox?



  • Hallo,
    im folgenden Beispiel ist mir nicht klar, warum ich die Größe der Picturebox nicht im Code verändern kann. Ich kann die Größe im Eigenschafts-Fenster verändern. Aber warum geht das nicht auch im Code?
    Gruß
    Michael

    using System;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Topographie
    {
        
        public partial class Form1 : Form
        {
            Bitmap b1 = new Bitmap(1280, 768);        
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Graphics g1 = Graphics.FromImage(b1);
                panel1.AutoScroll = true;
                pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
                pictureBox1.Dock = DockStyle.None;
                pictureBox1.Size.Width = 1280;     // Hier kommt die Fehlermeldung: 
                                                   //  Der Rückgabewert "System.Windows.Forms.Control.Size"
                                                   //  kann nicht geändert werden, da er keine Variable ist.
                for(int x = 0; x < 5; x++)
                {
                    for (int y = 0; y < 3; y++)
                    {
                        g1.DrawImage(new Bitmap("13_" + (4330+x).ToString() + "_" + (2717+y).ToString() + ".png"), 256*x, 256*y);
                    }
                }
                pictureBox1.Image = b1;
                pictureBox1.Refresh();
            }
        }
    }
    


  • Size ist ein struct, also ein Value Typ. Durch die Zuweisung würdest du den Wert nicht ändern.
    Müsste z.B. so gehen

    pictureBox1.Size = new Point(1280, pictureBox1.Size.Height);



  • Du hast mich auf die richtige Spur gebracht. Es geht zwar nicht mit Point(), aber mit

    pictureBox1.Size = new Size(1280,768); 
    

    Vielen Dank!
    Michael



  • Ähm, sorry. Point war keine Absicht.



  • Bei Location ist die Struktur Point (ich vertue mich da auch öfters mal).


Anmelden zum Antworten