Procedura: gestire le modifiche di orientamento e risoluzione
Aggiornamento: novembre 2007
Nella seguente tabella vengono illustrati gli orientamenti dello schermo di Pocket PC e Smartphone supportati in .NET Compact Framework. Le dimensioni sono espresse in pixel, nel formato larghezza x altezza.
Orientamento dello schermo |
Dimensioni normali 96 DPI |
Dimensioni normali 192 DPI (alta risoluzione) |
---|---|---|
Verticale - Pocket PC Verticale - Smartphone |
240 x 320 176 x 220 e 240 x 320 |
480 x 640 352 x 440 e 480 x 640 |
Orizzontale - Solo Pocket PC |
320 x 240 |
640 x 480 |
Quadrato - Solo Pocket PC |
240 x 240 |
480 x 480 |
È possibile utilizzare le funzionalità di ancoraggio e di aggancio per ridimensionare automaticamente in controlli in modo da adattare il contenuto del form ai differenti orientamenti dello schermo. Mediante l'aggancio si ottiene il mantenimento del controllo alla distanza specificata da un bordo, mentre con l'ancoraggio si ottiene il blocco della posizione del controllo in corrispondenza di un bordo del contenitore padre.
La proprietà Anchor di un controllo ne determina il comportamento di ridimensionamento in occasione del ridimensionamento del relativo controllo o form contenitore. La proprietà Dock di un controllo specifica i bordi del controllo contenitore cui effettuare l'ancoraggio.
Il comportamento delle funzionalità di aggancio e di ancoraggio in .NET Compact Framework è il medesimo della versione completa di .NET Framework.
È possibile personalizzare l'applicazione per adattarla alle differenti impostazioni di risoluzione in pixel espressa in DPI (Dots Per Inch, punti per pollice).
Per gestire una modifica di orientamento dello schermo
È possibile inserire controlli che devono occupare un'area specifica del form in un controllo contenitore, quale un controllo Panel, quindi impostare la proprietà Dock del Panel sul bordo desiderato.
Per mantenere le dimensioni e la posizione del controllo adeguate alle dimensioni del form, impostare la proprietà Anchor del controllo sulla posizione desiderata.
Per far sì, ad esempio, che un pulsante sia sempre visualizzato nell'angolo inferiore destro del form e mantenga le stesse dimensioni, utilizzare la seguente istruzione:
Me.Button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
this.button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
In Microsoft Visual Studio 2005, è possibile configurare le impostazioni di aggancio e ancoraggio nel riquadro Proprietà.
Per modificare l'orientamento dello schermo
Se il Pocket PC esegue Windows Mobile versione 5.0, è possibile modificare l'orientamento dello schermo da verticale a 0 (zero) gradi a 90, 180 o 270 gradi come specificato dall'enumerazione ScreenOrientation. Mediante la seguente istruzione si imposta, ad esempio, un orientamento orizzontale:
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270;
Si noti che le modifiche di orientamento dello schermo non sono limitate all'applicazione, ma si applicano all'intero dispositivo. Pertanto, sarebbe consigliabile reimpostare il valore originale dell'orientamento dello schermo nel codice di gestione eventi per l'evento FormClosing.
Per gestire una modifica di risoluzione dello schermo
Quando si crea un progetto per dispositivi Smart Device in Microsoft Visual Studio 2005, nella finestra di progettazione viene fornito il codice per l'adattamento automatico dei controlli alla risoluzione dello schermo del dispositivo. Questa funzionalità impedisce che, se l'applicazione viene eseguita su un dispositivo con una risoluzione di DPI differente da quella del dispositivo usato in fase di sviluppo, il form appaia troppo grande o troppo piccolo. Pertanto, sarebbe necessario adattare adeguatamente i controlli del form.
Quando si crea un progetto per dispositivi Smart Device in Visual Studio 2005, nella finestra di progettazione vengono aggiunte le seguenti istruzioni al metodo InitializeComponent:
[Visual Basic]
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
[C#]
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
Queste istruzioni si riferiscono a un'applicazione sviluppata per un dispositivo con una risoluzione di 96 DPI e prevedono l'adattamento automatico in base alla modalità DPI. 96 DPI è il valore predefinito ottenuto dal computer desktop che esegue Visual Studio 2005. Il codice viene automaticamente generato nella finestra di progettazione; i controlli del form verranno automaticamente adattati per gestire differenti impostazioni di DPI.
L'adattamento automatico non si applica all'eventuale grafica disegnata mediante il metodo OnPaint contenuta nell'applicazione. Per determinare l'adattamento appropriato sarà necessario utilizzare le proprietà DpiX e DpiY degli oggetti Graphics. Un esempio di adattamento manuale viene fornito nell'articolo Esempio di testo ruotato mediante LogFont.
Vedere anche
Attività
Procedura: allineare un controllo ai bordi dei form
Concetti
Ridimensionamento automatico in Windows Form