VB.NET Sviluppo Applicazioni Desktop Corrado Cavalli Microsoft .NET MVP corrado@mvps.org
Applicazioni Windows Form E’ un applicazione che ha almeno un Form Form E’ una classe presente in System.Windows.Forms Application I Forms sono classi, e come tali vanno utilizzati Ereditarietà visuale Un form può ereditare da un form preesistente Application.Run Application.DoEvents Application.StartupPath Application.Idle Application.ThreadException
Forms Properties AutoScroll MaximumSize, MinimumSize Opacity TransparencyKey,Region AcceptButton,CancelButton Show,ShowDialog,DialogResult TopMost,CenterParent,CenterScreen Application.EnableVisualStyles I control arrays non esistono più...
Forms MDI Form.IsMDIContainer=True Form.MdiParent=Me Form.ActiveMDIChild Form.MDIActivate
Menu Form.MenuStart/MenuComplete Menu.Select Menu.OwnerDraw ContextMenu
Clipboard E’ una classe con metodi statici Clipboard.xxx Clipboard.SetData(oggetto) IDataObject=ClipBoard.GetDataObject IDataObject.GetDataPresent(format) Enumerato DataFormats Object=ClipBoard.GetData() Va castato con DirectCast() Posso copiare oggetti se la classe è marcata con <Serializable>
Drag and Drop E’ un operazione Sincrona Dim eff as DragDropEffects=Controllo.DoDragDrop(Dati,DragDropEffects) Evento DragEnter (AllowDrop=True) IDataObject=e.GetDataObject Present=IDataObject.GetDataPresent(format) If present then e.Effect=DragDropEffects.XXX Enumerato DataFormats Evento DragDrop Object=e.Data.GetData(DataFormat.XXX) Va castato con DirectCast() If eff=DataFormats.XXX then ... End If
Proprietà dinamiche e Settings I controlli supportano proprietà dinamiche Vengono memorizzate nel file .config Possiamo inserire i nostri settings System.Configuration.AppSettingsReader No AppSettingsWriter... Application.UserAppDataPath Application.CommonAppDataPath
Risorse e Localizzazione Sono informazioni che inseriamo nella nostra assembly Si possono leggere usando Assembly.GetManifestResourceStream Form.Localizable=True Form.Language=... WinRes.exe Al.exe
DataBinding Associare un controllo ad una (o più) fonti di informazioni (DataSource) Simple Binding (tutti i controlli, legame Proprietà <> Informazione, un solo item visualizzato) Complex Binding (alcuni controlli, tutti gli items visualizzati) Esempio di Simple Binding... Dim bnd as new Binding(“Text”,DataSource,DataMember) TextBox1.DataBindings.Add(bnd)
PropertyManager (1) CurrencyManager (n) DataBinding Fonte Dati BindingManager PropertyManager (1) CurrencyManager (n) Text DataBindings Position Current BindingManager gestisce il legame Controlli <-> Fonte Dati PropertyManager (Single item DataSource) CurrencyManager (List data source ) Entrambi ereditano dalla classe astratta BindingManagerBase Position: Posizione attuale nella lista di dati Current: Attuale DataRowItem selezionato Esiste un BindingManager per ogni Fonte Dati interessata a binding I BindingManagers sono accessibili attraverso la proprietà BindingContext del Form
Communities news.microsoft.com microsoft.public.it.dotnet.vb microsoft.public.it.dotnet.* Comunità degli sviluppatori http://www.microsoft.com/italy/msdn/community/default.asp
Webcasts http://www.microsoft.com/italy/msdn/webcast/default.asp