#6 - Tips & Tricks Marco Frontini [email protected] Product Manager .

15
#6 - Tips & Tricks #6 - Tips & Tricks Marco Frontini Marco Frontini [email protected] [email protected] Product Manager Product Manager www.softandroll.it www.softandroll.it

Transcript of #6 - Tips & Tricks Marco Frontini [email protected] Product Manager .

Page 1: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

#6 - Tips & Tricks#6 - Tips & Tricks

Marco FrontiniMarco [email protected]@softandroll.it

Product ManagerProduct Managerwww.softandroll.itwww.softandroll.it

Page 2: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Forms Full-Screen & ControlsForms Full-Screen & Controls

• ManagedManaged• Text = “”Text = “”• Menu = null/NothingMenu = null/Nothing

• ……e se serve l’input panel o il menu?e se serve l’input panel o il menu?• Native – SHFullScreenNative – SHFullScreen

• ……e se l’utente usa l’help dell’input panel?e se l’utente usa l’help dell’input panel?• Managed OnDeactivate()Managed OnDeactivate()• Native GetForegroundWindowNative GetForegroundWindow

• Non dimentichiamoci uno shortcut Non dimentichiamoci uno shortcut • Per chiudere in caso di manutenzione (magari con Per chiudere in caso di manutenzione (magari con

password)password)

• Task List: come visualizzare una sola formTask List: come visualizzare una sola form

Page 3: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Funzionalità dei Funzionalità dei DeviceDevice

• OrientamentoOrientamento• RisoluzioneRisoluzione

Display e LayoutDisplay e LayoutWindows Mobile 2003 SEWindows Mobile 2003 SE

• .NET Compact Framework 1.0 Service Pack 2.NET Compact Framework 1.0 Service Pack 2• Aggiunta automatica delle scrollbarsAggiunta automatica delle scrollbars• Gestire l’evento Form.ResizeGestire l’evento Form.Resize• White paper su MSDN:White paper su MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/orientation_awareness.aspen-us/dnppcgen/html/orientation_awareness.asp

Page 4: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Scrollable SomethingScrollable Something

• System.Windows.Forms.ScrollableControlSystem.Windows.Forms.ScrollableControlèè una finta una finta• Managed Managed

• Panel come container dei child ControlsPanel come container dei child Controls

• NativeNative• ScrollWindowEx + SW_SCROLLCHILDRENScrollWindowEx + SW_SCROLLCHILDREN

• E con la Second EditionE con la Second Edition• … … ancora peggio…ancora peggio…

• Custom ControlCustom Control• Il designer di VS 2003 non li supportaIl designer di VS 2003 non li supporta• Nessun problema, lo inganniamo Nessun problema, lo inganniamo

Page 5: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Display And LayoutDisplay And Layout.NET Compact Framework 2.0.NET Compact Framework 2.0

• Supporto all’orientamentoSupporto all’orientamento• Docking e AnchoringDocking e Anchoring• Proprietà AutoScroll – forms, panelsProprietà AutoScroll – forms, panels• Metodi Suspend/Resume LayoutMetodi Suspend/Resume Layout• Metodo ChangeOrientationMetodo ChangeOrientation

• Supporto alta risoluzioneSupporto alta risoluzione• Scaling automaticoScaling automatico

Page 6: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

SIPSIP

• Aggiungere il controllo Software Input Aggiungere il controllo Software Input PanelPanel• Deve essere presente il MainMenu (anche vuoto)Deve essere presente il MainMenu (anche vuoto)

• Controllo da codiceControllo da codice• SIP.Enabled = true/falseSIP.Enabled = true/false

• Resize del form/controlliResize del form/controlli• Intercettare EnableChangedIntercettare EnableChanged• Proprietà VisibleDesktop di tipo RectagleProprietà VisibleDesktop di tipo Rectagle• Height e Width per sapere la dimensioneHeight e Width per sapere la dimensione

• Attenzione al ClientRectangleAttenzione al ClientRectangle

Page 7: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Non tutti sanno che …Non tutti sanno che …

• Retargetable flag attributeRetargetable flag attribute• Typed DataSetsTyped DataSets• HTTP ServerHTTP Server• Migrazione da eMbedded Visual ToolsMigrazione da eMbedded Visual Tools• ObfuscationObfuscation• Compilazione da riga di comandoCompilazione da riga di comando• Control Design – RuntimeAssemblyAttributeControl Design – RuntimeAssemblyAttribute• Custom Controls con VS 2003Custom Controls con VS 2003• Design guidelines di MicrosoftDesign guidelines di Microsoft

• Non mostrare voci multiple nella TaskListNon mostrare voci multiple nella TaskList

Page 8: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

SQL Server CESQL Server CEQuery ProcessorQuery Processor

• ParsingParsing• Valida la sintassiValida la sintassi

• CompilazioneCompilazione• Carica i metadati delle tabelle e colonne e crea Carica i metadati delle tabelle e colonne e crea

un primo execution planun primo execution plan

• OttimizzazioneOttimizzazione• Heuristic Heuristic • Cost-BasedCost-Based• Considera execution plan alternativiConsidera execution plan alternativi• Genera una struttura eseguibile con il plan dal Genera una struttura eseguibile con il plan dal

costo minorecosto minore

Page 9: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

SQL Server CESQL Server CEPerformancePerformance

• Normalizzazione e JoinNormalizzazione e Join• Non superare 5-6 tabelle, eventualmente denormalizzareNon superare 5-6 tabelle, eventualmente denormalizzare

• Precalcolare i valori di colonne calcolate nelle queryPrecalcolare i valori di colonne calcolate nelle query• Campi a lunghezza fissaCampi a lunghezza fissa

• In caso di frequenti aggiornamenti evitano la riallocazione delle In caso di frequenti aggiornamenti evitano la riallocazione delle paginepagine

• Creare record di dimensioni ridotteCreare record di dimensioni ridotte• Spostare campi Binary, Text o acceduti di radoSpostare campi Binary, Text o acceduti di rado

• Tenere PK e FK con pochi campi, meglio unoTenere PK e FK con pochi campi, meglio uno• Attenzione all’ordine dei campi negli indici o PK multi-columnAttenzione all’ordine dei campi negli indici o PK multi-column• Non indicizzare le tabelle piccole (1-2 pagine)Non indicizzare le tabelle piccole (1-2 pagine)

• #Pages = #Pages = <sum of sizes of columns in bytes> * <table rows> / <sum of sizes of columns in bytes> * <table rows> / 40964096

• In questi casi il table scan è più efficenteIn questi casi il table scan è più efficente• Eseguire periodicamente la compattazione del DBEseguire periodicamente la compattazione del DB

Page 10: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

SQL Server CESQL Server CETips & TricksTips & Tricks

Come impostare la directory TEMP usata dal Come impostare la directory TEMP usata dal

SQL CE Engine per il TempDBSQL CE Engine per il TempDB

SqlCeConnection conn = new SqlCeConnection();SqlCeConnection conn = new SqlCeConnection();conn.ConnectionString = "Data Source = Northwind.sdf; conn.ConnectionString = "Data Source = Northwind.sdf;

temp file directorytemp file directory = \TempCustomFolder;" = \TempCustomFolder;"

Page 11: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Tips & TricksTips & Tricks

SQL Server 2005 Mobile EditionSQL Server 2005 Mobile Edition

è il database per i device?è il database per i device?

Page 12: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

SmartphoneSmartphone• Senza Senza Touch Screen, due soft keys Touch Screen, due soft keys • MessageBox con solo 2 commandsMessageBox con solo 2 commands• TabControl non supportato (ListView + FullScreen Panel) TabControl non supportato (ListView + FullScreen Panel) • Supported Controls:Supported Controls:

LabelLabel TextBox (* multiline)TextBox (* multiline) MainMenu MainMenu CheckBox CheckBox PictureBox PictureBox Panel Panel ComboBox (*)ComboBox (*) ListView ListView TreeView TreeView HScrollBar HScrollBar VScrollBar VScrollBar Timer Timer ProgressBar ProgressBar ImageListImageList WebBrowser (CF 2.0)WebBrowser (CF 2.0) DateTimePicker (CF 2.0)DateTimePicker (CF 2.0) DataGrid (CF 2.0)DataGrid (CF 2.0) SerialPort (CF 2.0)SerialPort (CF 2.0)

Page 13: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Fuori in 60 secondiFuori in 60 secondiCreare una gestione dati in 60’’Creare una gestione dati in 60’’

DataSoul FrameworkDataSoul Framework

www.softandroll.itwww.softandroll.it

Page 14: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

Links utiliLinks utili

• Windows Mobile Version 5.0 SDK for Pocket PCWindows Mobile Version 5.0 SDK for Pocket PC• http://go.microsoft.com/fwlink/?LinkId=49266http://go.microsoft.com/fwlink/?LinkId=49266

• Windows Mobile Version 5.0 SDK for SmartphoneWindows Mobile Version 5.0 SDK for Smartphone• http://go.microsoft.com/fwlink/?LinkId=49270http://go.microsoft.com/fwlink/?LinkId=49270

• .NET Compact Framework 1.0 Sp3.NET Compact Framework 1.0 Sp3• http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?

FamilyID=7bf313b9-71ed-4e15-ad6e-FamilyID=7bf313b9-71ed-4e15-ad6e-315dae6faf9f&DisplayLang=en315dae6faf9f&DisplayLang=en

• Microsoft MobilityMicrosoft Mobility• http://msdn.microsoft.com/mobility/http://msdn.microsoft.com/mobility/

Page 15: #6 - Tips & Tricks Marco Frontini marco.frontini@softandroll.it Product Manager .

© 2005 Microsoft Corporation. All rights reserved.© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.Content created by 3 Leaf SolutionsContent created by 3 Leaf Solutions