Hallöchen,
ich habe in meiner WinForms Anwendung 3 Pictureboxen, die ich dynamisch zur Laufzeit mit Images aus Bitmaps füllen möchte. Die Bitmaps sind größer als die Pictureboxen, daher wähle ich ImageLayout.Stretch. Nichtsdestototz wird nur ein Teil der Bitmaps dargestellt.
for (int i = 0; i < 3; i++)
{
PictureBoxList[i].Dock = DockStyle.Fill;
PictureBoxList[i].BackgroundImageLayout = ImageLayout.Stretch;
PictureBoxList[i].Image = bmpList[i];
PictureBoxList[i].Refresh();
PictureBoxList[i].Visible = true;
PictureBoxList[i].BringToFront();
}
Ich habe geprüft, dass die Bitmaps vollständig sind (probehalber in JPG gespeichert) und die Größen aufgenommen (Beispiel: Bitmap 340x830, Picturebox 161x543).
Hat noch jemand ne Idee, wo ich suchen könnte?
Das Problem scheint so simpel und funktioniert doch nicht.
Danke im Voraus
Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.
Was erwartest du an der Stelle? Dass die Picture Box eine Scrollbar bekommt (und das Bild so groß bleibt wie es ist), oder dass das Bild runterskaliert wird (damits reinpasst)?
Du verwendest die falsche Eigenschaft, SizeMode ist die richtige:
PictureBoxList[i].SizeMode = PictureBoxSizeMode.StretchImage;
BackgroundImageLayout
ist für Zuweisung zu BackgroundImage zuständig. 😉
PictureBoxList[i].SizeMode = PictureBoxSizeMode.StretchImage;
Danke, na klar, jetzt seh ich es auch. Manchmal ist man aber auch ... 😉
Hab's geändert und nun funktioniert es, wie es soll.
Also besten Dank
von Christel
Es ist schlimm, eine Ausnahme zu sein, aber noch schlimmer, keine zu sein.