Immissione immagini in una WindowsForm.

di il
2 risposte

Immissione immagini in una WindowsForm.

Ciao,
devo realizzare una WindowsForm che necessita di ImageList e pictureBox.
Il progetto funziona ma l’immissione delle immagini l’ho eseguita da FormDesign e siccome l’esaminatore non vuole l’eseguibile (solo lui sa il perché,…almeno se accettasse entrambe le cose…),vorrei immettere le immagini da codice,…questo comporterebbe però l’immissione di un path che vincolerebbe l’esaminatore a installare il programma dove dico io.
Esiste un modo, o delle righe di codice, in grado di vincolare il meno possibile?
Ringrazio per l’attenzione

Ciao ciao

2 Risposte

  • Re: Immissione immagini in una WindowsForm.

    Ciao, esistono varie soluzioni al tuo problema e spero di essere esauriente:

    1)ipotizziamo che tu abbia una cartella contenente immagini
    c:\Image\Image1.jpg

    allora per inserire la tua immagine nella picturebox1 devi
    usare la seguente riga di codice dove ti fa comodo (evento loadform, buttonclick ecc...)

    this.pictureBox1.Image = new Bitmap(@"c:\Image\Image1.jpg");

    2) se voui usare una imagelist per memorizzare le immagini tieni conto che questa visualizza immagini nel max formato di 256x256 pixel, a questo punto puoi caricare le immagini direttamente dal designer e richiamarle nella tua picturebox con la riga:

    this.pictureBox1.Image = this.imageList1.Images[0];

    se invece le tue immagini le devi caricare tra le risorse del tuo progetto e poi richiamarle usa la seguente procedura 3) questa va bene sia per caricare immagini nella imagelist che direttamente nella picturebox

    3)Loading Embedded Images
    This example loads an embedded resource image. It requires a Windows Form with a System.Windows.Forms.PictureBox control named pictureBox1 such as the one illustrated in Creating Windows Forms Applications with Visual C#.

    To compile the code:

    Add a jpg or bmp image file to the project, and set the Build Action property to Embedded Resource in Solution Explorer.

    Replace "AssemblyName.ImageFileName.jpg " in the code example with the name of your image file name. You can then use the GetManifestResourceNames method of the System.Reflection.Assembly to find the resource name.

    System.Reflection.Assembly myAssebbly;
    myAssebbly = System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Stream imageFile =
    myAssebbly.GetManifestResourceStream("AssemblyName.ImageFile.jpg");
    this.pictureBox1.Image = Image.FromStream(imageFile);
    If the embedded resource does not exist or the name is not correct the call to System.Reflection.Assembly.GetManifestResourceStream returns null.



    ciao e buon lavoro


    Leonardo Miglietta
  • Re: Immissione immagini in una WindowsForm.

    Grazie mille per i suggerimenti
Devi accedere o registrarti per scrivere nel forum
2 risposte