#6 - Tips & Tricks
Marco Frontini
[email protected]
Product Manager
www.softandroll.it
Forms Full-Screen & Controls
• Managed
• Text = “”
• Menu = null/Nothing
• …e se serve l’input panel o il menu?
• Native – SHFullScreen
• …e se l’utente usa l’help dell’input panel?
• Managed OnDeactivate()
• Native GetForegroundWindow
• Non dimentichiamoci uno shortcut 
• Per chiudere in caso di manutenzione (magari con password)
• Task List: come visualizzare una sola form
Display e Layout
Windows Mobile 2003 SE
Funzionalità dei
Device
• Orientamento
• Risoluzione
•
.NET Compact Framework 1.0 Service Pack 2
•
•
•
Aggiunta automatica delle scrollbars
Gestire l’evento Form.Resize
White paper su MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnppcgen/html/orientation_awareness.asp
Scrollable Something
• System.Windows.Forms.ScrollableControl
è una finta
• Managed
• Panel come container dei child Controls
• Native
• ScrollWindowEx + SW_SCROLLCHILDREN
• E con la Second Edition
• … ancora peggio…
• Custom Control
• Il designer di VS 2003 non li supporta
• Nessun problema, lo inganniamo 
Display And Layout
.NET Compact Framework 2.0
•
Supporto all’orientamento
•
•
•
•
•
•
Docking e Anchoring
Proprietà AutoScroll – forms, panels
Metodi Suspend/Resume Layout
Metodo ChangeOrientation
Supporto alta risoluzione
Scaling automatico
SIP
• Aggiungere il controllo Software Input Panel
• Deve essere presente il MainMenu (anche vuoto)
• Controllo da codice
• SIP.Enabled = true/false
• Resize del form/controlli
• Intercettare EnableChanged
• Proprietà VisibleDesktop di tipo Rectagle
• Height e Width per sapere la dimensione
• Attenzione al ClientRectangle
Non tutti sanno che …
•
•
•
•
•
•
•
•
•
Retargetable flag attribute
Typed DataSets
HTTP Server
Migrazione da eMbedded Visual Tools
Obfuscation
Compilazione da riga di comando
Control Design – RuntimeAssemblyAttribute
Custom Controls con VS 2003
Design guidelines di Microsoft
• Non mostrare voci multiple nella TaskList
SQL Server CE
Query Processor
• Parsing
• Valida la sintassi
• Compilazione
• Carica i metadati delle tabelle e colonne e crea un
primo execution plan
• Ottimizzazione
•
•
•
•
Heuristic
Cost-Based
Considera execution plan alternativi
Genera una struttura eseguibile con il plan dal costo
minore
SQL Server CE
Performance
• Normalizzazione e Join
• Non superare 5-6 tabelle, eventualmente denormalizzare
• Precalcolare i valori di colonne calcolate nelle query
• Campi a lunghezza fissa
• In caso di frequenti aggiornamenti evitano la riallocazione delle pagine
• Creare record di dimensioni ridotte
• Spostare campi Binary, Text o acceduti di rado
• Tenere PK e FK con pochi campi, meglio uno
• Attenzione all’ordine dei campi negli indici o PK multi-column
• Non indicizzare le tabelle piccole (1-2 pagine)
• #Pages = <sum of sizes of columns in bytes> * <table rows> / 4096
• In questi casi il table scan è più efficente
• Eseguire periodicamente la compattazione del DB
SQL Server CE
Tips & Tricks
Come impostare la directory TEMP usata dal
SQL CE Engine per il TempDB
SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = "Data Source = Northwind.sdf;
temp file directory = \TempCustomFolder;"
Tips & Tricks
SQL Server 2005 Mobile Edition
è il database per i device?
Smartphone
•
•
•
•
Senza Touch Screen, due soft keys
MessageBox con solo 2 commands
TabControl non supportato (ListView + FullScreen Panel)
Supported Controls:


















Label
TextBox (* multiline)
MainMenu
CheckBox
PictureBox
Panel
ComboBox (*)
ListView
TreeView
HScrollBar
VScrollBar
Timer
ProgressBar
ImageList
WebBrowser (CF 2.0)
DateTimePicker (CF 2.0)
DataGrid (CF 2.0)
SerialPort (CF 2.0)
Fuori in 60 secondi
Creare una gestione dati in 60’’
DataSoul Framework
www.softandroll.it
Links utili
• Windows Mobile Version 5.0 SDK for Pocket PC
• http://go.microsoft.com/fwlink/?LinkId=49266
• Windows Mobile Version 5.0 SDK for Smartphone
• http://go.microsoft.com/fwlink/?LinkId=49270
• .NET Compact Framework 1.0 Sp3
• http://www.microsoft.com/downloads/details.aspx?FamilyID
=7bf313b9-71ed-4e15-ad6e-315dae6faf9f&DisplayLang=en
• Microsoft Mobility
• http://msdn.microsoft.com/mobility/
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Content created by 3 Leaf Solutions
Scarica

#6 - Tips & Tricks