Applicare uno sfondo ad una form per sistemi pocket pc.

In questo articolo vedremo come applicare uno sfondo, ad una nostra applicazione per windows mobile, tramite il linguaggio Visual Basic Net.

il
Sviluppatore Microsoft .Net, Collaboratore di IProgrammatori

Introduzione
In questo articolo vedremo come inserire uno sfondo in una form per sistemi pocket pc, utilizzando il linguaggio Visual Basic.NET 2003, l'immagine sarà applicata come sfondo della win form,  come mostrato in figura 1.
Quello che occorre è un immagine formato jpg.

 

Figura 1

 

In allegato a tale articolo, troverete il file sorgente.

Creazione del progetto

Avviamo visual studio net 2003, scegliamo nuovo progetto, come tipo progetto scegliamo applicazione per smart device, nella finestra successiva scegliamo come piattaforma pocket pc, e tipo progetto applicazione windows.
 
Importare l’immagine.
Una volta creato il progetto,  aggiungiamo la nostra immagine.
Facciamo click con il tasto destro sul nome del progetto e scegliamo dal menu che viene visualizzato, la voce aggiungi, a questo punto scegliamo la voce aggiungi elemento esistente.

Verrà visualizzata la seguente schermata (Figura 2)

 

Figura 2
Nella casella “tipo file” scegliamo la voce file grafici, e ricerchiamo la nostra immagine e digitiamo il pulsante apri. In questo modo verrà inserita al progetto.
Dopo aver scelto l’immagine, facciamo click sul nome del file (immagine) jpg inserito nel progetto.
Tra le varie proprietà impostiamo la proprietà “Operazione di generazione” con il valore "risorsa incorporata".
In questo modo, l’immagine fa parte della form.
 
 
 Stesura del codice.
Ora passiamo al codice, facciamo click sul pulsante visualizza codice, a questo punto, in alto sopra ad ogni parola inseriamo i vari namespace, in particolare lo spazio dei nomi reflection che ci permette di gestire la risorsa.

Come riportato qui di seguito

Imports System

Imports System.Reflection

 

Terminata la fase di dichiarazione dei spazi dei nomi, dobbiamo creare un oggetto di tipo image a livello globale da poter gestire l’immagine in tutta la Form.
Di seguito viene riportata tale operazione.

 

 

'variabile globale

Private imgSfondo As Image

 

 Ora dobbiamo applicare delle modifiche al costruttore della classe form.

Il metodo GetManifestResourceStream ha il compito di ricavare il file(nel nostro caso l’immagine jpg) nel progetto.
Tale metodo accetta come valore il nome dell’assembley seguito dal nome del file con la sua estensione. Fate molta attenzione alle minuscole e maiuscole. Per sapere il tipo di assembley bisogna fare click con il tasto destro del mouse, sul nome del progetto, nel menu che viene visualizzato, scegliere la voce proprietà, verrà aperta una finestra, in tale finestra alla voce “Generale”, si trova il nome dell’assembley.
Il codice da mettere nel costruttore del form dev’essere simile a quello riportato qui di seguito.

 

Public Sub New()

        MyBase.New()
 
        imgSfondo = New Bitmap([Assembly].GetExecutingAssembly().GetManifestResourceStream("SmartDeviceSfondo.Paradiso.jpg"))
        'Chiamata richiesta da Progettazione Windows Form.
        InitializeComponent()
 
 
 
    End Sub

 

Download

 

 A questo punto non ci resta che fare l'ultima modifica, in particolare ridisegnare l'immagine tramite l'evento paint.

Utilizzando il metodo DraWImage applichiamo allo sfondo l’immagine che abbiamo scelto.

Il codice da inserire nell’evento paint della form dev’essere simile a quello riportato qui di seguito.

 

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

        e.Graphics.DrawImage(imgSfondo, Me.ClientRectangle, New Rectangle(0, 0, Me.imgSfondo.Width, Me.imgSfondo.Height), GraphicsUnit.Pixel)
    End Sub

Conclusioni:

Terminata la fase di stisura codice, non ci resta che testare l'esempio, tramite il tasto f5 verrà eseguito il nostro programma. Tramite la parola download è possibile scaricare il file di esempio utilizzato nell'articolo.