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ß
Michaelusing 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 gehenpictureBox1.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 StrukturPoint
(ich vertue mich da auch öfters mal).