Probleme mit Hintergrundbild

hallo allerseits!

ich habe genau das gleiche problem.
da es hier bisher nicht verstanden wurde, nochmal eine erläuterung:

ich möchte eine schon in die ressourcen hinzugefügte bilddatei in eine picturebox laden. das problem ist jedoch, dass ich je nach usereingabe / variable ein ANDERES bild laden möchte.

pcbBild1.Image = My.Resources._1

wäre die lösung, wenn ich ein bestimmtes bild laden möchte. jetzt verändert der user jedoch eine variable (Zahl1) um zu bestimmen, welches meiner 20 bilder ausgegeben werden soll. wie schaffe ich jetzt nun, je nach zahl ein bestimmtes bild zu öffnen?

MfG
Simon



PS: pcbBild1.Image = My.Resources._ & Zahl

das hier war meine erste idee. funktionieren tut sie leider nicht.. :-(
 
Aaaaalso, wenn ihr die Bilder korrekt eingebunden habt als Ressourcen (also, Rechtsklick auf Projekteigenschaften, Eigenschaften, Ressourcen und dort dann die Bilder hinzugefügt), könnt ihr über <Projektname>.Properties.Resources.<NamederRessource> darauf zugreifen. Also hier ein Beispiel, ich hab drei Dateien (Namen: Don, Devil und mad_wolf) in den Ressourcenmanager gepackt, lege ein Array von Image-Dateien an und packe eben diese Dateien nun nach und nach in das Array:
Code:
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Bildtest.Properties; // hierdurch kann ich mir das Bildtest.Properties. 
                                     // vor den Resources sparen

namespace Bildtest
{
    public partial class Form1 : Form
    {

        Image[] imageList = new Image[3]; //Anlegen des Arrays

        public Form1()
        {
            InitializeComponent();
            imageList[0] = Resources.Don; //Einfügen der Bilder in das Array
            imageList[1] = Resources.devil;
            imageList[2] = Resources.mad_wolf;
        }
    }
}

Jetzt kann man mit den Bildern machen was man will, ich hab mir jetzt drei Label angelegt und eine Picturebox und wenn ich mit der Maus über das Label fahre, wird das dazugehörige Bild in die Picturebox geladen:

Code:
        private void label1_MouseEnter(object sender, EventArgs e)
        {
            pictureBox1.Image = imageList[0];
        }

        private void label2_MouseEnter(object sender, EventArgs e)
        {
            pictureBox1.Image = imageList[1];
        }

        private void label3_MouseEnter(object sender, EventArgs e)
        {
            pictureBox1.Image = imageList[2];
        }

Wenn es eher Icons sein sollen (also kleine Bildchen), dann würde ich statt einem Image-Array allerdings eine imageList empfehlen, hat den Vorteil, daß man nicht unbedingt mit Zahlen jonglieren muß, sondern beim Adden jedes Bildes einen sogenannten KeyString übergeben kann und dann z.B. mit
Code:
pictureBox1.Image = imageList1.Images["Don"];
namentlich auf das Bild zugreifen kann. Außerdem muß man keine Arraygrenzen beachten, da es ein selbstverwaltender Bildercontainer ist. Nachteil: Maximale Bildgröße 256*256 Pixel.
 
Zurück