nachtfrost23
Lieutenant
- Registriert
- März 2008
- Beiträge
- 644
Hi, ich habe gerade versucht in einem Programm einen Pictuerboxen Array einzubinden, der es mir erlaubt eine variable Anzahl Pictureboxen in ihrer Größe relativ zur Fenstergröße und ihrer Anzahl anzuzeigen.
Konkret geht es darum, neben einem groß dargestellten Bild (picturebox1;das funktioniert bereits) eine Vorschau der nächsten Bilder (man kann mit den Pfeiltasten navigieren) zu geben.
Um zu testen ob die Pictureoxen überhaupt erstellt werden, habe ich den Code so geändert, dass kein Bild eingebunden wird, sondern der Hintergrund schwarz gefärbt wird.
Der mit "//" deaktivierte Code soll zum Einbinden der Bilder dienen.
Den Code dazu findet ihr im Spoiler.
Vielen Dank
mal wieder nachtfrost
Lösung:
Habe gestern meinen Infolehrer gefragt.
Das ganze war so schon (fast) richtig. Es fehlte nur noch eine Zeile:
"Fast", weil ich bei den Koordinaten der Position x und y verdreht habe und weil es nicht so funktioniert, wie ich wollte, aber das ist jetzt auch egal, da wir das im Unterricht ganz anders (mit festen Werten) weitergemacht haben und das so viel besser aussieht.
Danke an alle, die sich die Zeit genomme haben hier eine Antwort zu schreiben.
LG nachtfrost
Konkret geht es darum, neben einem groß dargestellten Bild (picturebox1;das funktioniert bereits) eine Vorschau der nächsten Bilder (man kann mit den Pfeiltasten navigieren) zu geben.
Um zu testen ob die Pictureoxen überhaupt erstellt werden, habe ich den Code so geändert, dass kein Bild eingebunden wird, sondern der Hintergrund schwarz gefärbt wird.
Der mit "//" deaktivierte Code soll zum Einbinden der Bilder dienen.
Den Code dazu findet ihr im Spoiler.
Vielen Dank
mal wieder nachtfrost
Code:
public MainForm()
{
InitializeComponent();
dateinamen=Directory.GetFiles("./Bilder/");
j=0;
Bitmap bild = new Bitmap(dateinamen[j]);
pb=5; //soll später variable sein
pictureBox1.Image=(Image) bild;
vorschau= new PictureBox[pb];
for(int i=0; i<pb; i++)
{
vorschau[i] = new System.Windows.Forms.PictureBox();
vorschau[i].Location = new System.Drawing.Point(ClientSize.Height/pb+10+i*(ClientSize.Height/pb-10), 5);
vorschau[i].Size = new System.Drawing.Size(ClientSize.Height/pb-10, ClientSize.Width/(pb*2));
vorschau[i].BackColor = System.Drawing.Color.Black;
//Bitmap vorschaubild = new Bitmap(dateinamen[j+1]);
//vorschau[i].Image=(Image) vorschaubild;
}
Lösung:
Habe gestern meinen Infolehrer gefragt.
Das ganze war so schon (fast) richtig. Es fehlte nur noch eine Zeile:
Code:
this.Controls.Add(vorschau[i]);
"Fast", weil ich bei den Koordinaten der Position x und y verdreht habe und weil es nicht so funktioniert, wie ich wollte, aber das ist jetzt auch egal, da wir das im Unterricht ganz anders (mit festen Werten) weitergemacht haben und das so viel besser aussieht.
Danke an alle, die sich die Zeit genomme haben hier eine Antwort zu schreiben.
LG nachtfrost
Zuletzt bearbeitet: