Introduzione
In questo Tip vedremo come inserire uno sfondo/Background in una form per sistemi
Pocket PC, utilizzando il linguaggio
Visual Basic.NET 2003. Il risultato è quello rappresentato nella figura qui sotto. Quello che ci occorre per cominciare è un'immagine formato in formato JPG.
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, verrà visualizzata la form. In tale progetto, dobbiamo aggiungere la nostra immagine.
Facciamo click con il tasto destro sul nome del progetto e scegliamo nel menu che viene visualizzato, la voce
Aggiungi, a questo punto scegliamo la voce
Aggiungi elemento esistente.
Verrà visualizzata la classica Form di selezione File.
Nella casella
"tipo file" scegliamo la voce
File Grafici, e ricerchiamo la nostra immagine e premiamo il pulsante
Apri. In questo modo verrà inserita nella nostra soluzione.
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" in
"Risorsa incorporata. In questo modo, l'immagine verrà incorporata nell'eseguibile.
Stesura del codice
Ora passiamo al codice, facciamo click sul pulsante visualizza codice, a questo punto, in alto possiamo aggiungere i Namespaces richiesti, in particolare sarà di grande utilità quello relativo alla
Reflection:
Come riportato qui di seguito:
Imports System
Imports System.ReflectionDobbiamo ora creare un oggetto di tipo image a livello globale in modo da poter gestire l'immagine in tutta la classe Form. Di seguito viene riportata tale operazione.
'variabile globale
Private imgSfondo As Image
Ora dobbiamo effettuare delle modifiche al costruttore della classe form, esso viene identificato con la parola chiave
New, queste righe di codice impostano il nostro oggetto con la nostra immagine.
Il metodo
GetManifestResourceStream ha il compito di ricavare il file (nel nostro caso l'immagine jpg).
Tale metodo accetta come valore il nome dell'
Assembly seguito dal nome del file con la sua estensione. Fare molta attenzione alle minuscole e maiuscole. Per sapere il tipo di
Assembly 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'
Assembly.
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()
'Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent()
End Sub
Nell'evento
Paint dobbiamo ridisegnare tale immagine.
Utilizzando il metodo
DrawImage applicare 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
Esecuzione del programma
Dopo aver scritto le righe di codice, non resta che vedere tale risultato, premiamo il tasto
F5, verrà visualizzata una finestra che ci indica su quale dispositivo si vuole eseguire il programma.
Scegliamo emulatore o dispositivo nel caso abbiate un PDA vero e proprio. Se avete fatto tutto correttamente il risultato sarà quello riportato nella screenshot nella parte alta di questo Tip.