Home Page Home Page Tips & Tricks Applicare uno Sfondo ad una Form su Pocket PC

Applicare uno Sfondo ad una Form su Pocket PC


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.Reflection


Dobbiamo 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.

Codice .NET n°1
'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.

Codice .NET n°2
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:

Codice .NET n°3
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.


Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5