V Indice Introduzione XI Capitolo 1 Un approccio radicalmente nuovo: C# e Windows 1 1.1 Visual Studio.NET e C# 1 1.2 Realizzazione di applicazioni C# 2 1.3 La prima applicazione console C# 2 Altri dettagli sul programma 6 1.4 Elementi di programmazione in C# 6 Array 6 Attributi, eventi, indicizzatori, proprietà e versioni 8 Boxing, unboxing, e Unified Type System 10 Classi, strutture ed enum 10 Namespace 12 Tipi predefiniti 13 Dichiarazioni 14 Tipi di valore e di riferimento 18 1.5 La prima applicazione C# Windows 18 Altri dettagli di programma 25 Namespace 25 Modulo 26 Variabili designer 27 Inizializzare i componenti 28 Gestore di eventi 29 Fine 29 1.6 Sommario 30 Capitolo 2 Fondamenti di design dell interfaccia utente 31 2.1 Solo ieri (o così sembra) 32 2.2 Perché usare C# per progetti Windows? 33 2.3 Il linguaggio C# e le applicazioni Windows 33 2.4 Programmazione basata su eventi 34 indice.p65 5
VI 2.5 Gli strumenti Visual Studio per C# 34 2.6 Controlli standard 35 2.7 Proprietà dei controlli 38 Modificare le proprietà di controllo predefinite 39 Un metodo veloce per modificare le proprietà per diversi controlli 41 Nomi di oggetto ed etichette 41 Gestori di eventi 41 Modificare le proprietà con il codice 42 2.8 Creazione di buone interfacce utente 43 Elementi per un buon design 43 Utilizzo della griglia 44 I fondamenti del controllo 45 Un calcolatore di imposte di vendita 47 Progettare con controlli addizionali 49 2.9 Buone tecniche di design 56 Capitolo 3 Controllo delle proprietà in fase di design 57 3.1 Proprietà 57 3.2 Dettagli sulle proprietà 58 3.3 Modificare le proprietà 61 Proprietà dei pulsanti 61 Proprietà dei controlli CheckBox 63 Proprietà dei controlli ColorDialog 64 Proprietà dei controlli ComboBox 65 Proprietà del controllo DateTimePicker 66 Proprietà del controllo FontDialog 66 Proprietà di colore dei moduli 68 Proprietà dei controlli GroupBox 69 Proprietà dei controlli HScrollBar e VScrollBar 70 Proprietà dei controlli Label 71 Proprietà dei controlli ListBox 73 Proprietà dei controlli MainMenu 73 Proprietà del controllo MonthCalendar 75 Proprietà del controllo PictureBox 76 Proprietà del controllo ProgressBar 78 Proprietà del controllo RadioButton 78 Proprietà del controllo TextBox 80 Proprietà del controllo ToolBar 81 Proprietà del controllo TrackBar 83 3.4 Controllare le proprietà con il codice 84 Capitolo 4 Proprietà dei controlli durante l esecuzione 85 4.1 Codifica dei controlli 85 4.2 Proprietà e codice 86 indice.p65 6
VII 4.3 Gestori di eventi 87 Associare codice agli oggetti 88 4.4 Modifica dinamica delle proprietà di controlli 89 Proprietà di Button 89 Proprietà del controllo CheckBox 91 Proprietà del controllo DateTimePicker 93 Proprietà di colore del modulo 94 Proprietà dei controlli HScrollBar e VScrollBar 95 Proprietà del controllo Label 97 Proprietà del controllo ListBox 98 Proprietà del controllo MonthCalendar 99 Proprietà del controllo PictureBox 100 Proprietà del controllo ProgressBar 102 Proprietà del controllo RadioButton 103 Proprietà del controllo TextBox 106 Proprietà del controllo TrackBar 107 4.5 Un altro passo nel calcolatore di imposte di vendita 109 Controllo giusto, lavoro giusto 110 Codice del progetto 112 4.6 Guardando avanti 117 Capitolo 5 Eventi 119 5.1 Un veloce ripasso sui gestori di eventi 120 5.2 Eventi 121 Activate 123 ButtonClick 124 ButtonDropDown 124 CheckStateChanged 125 CheckedChanged 125 Click 126 Closed 126 CloseUp 127 Closing 127 DateChanged 128 DateSelected 128 Deactivate 129 DoubleClick 129 DragDrop 130 DragEnter 130 DragLeave 131 DragOver 131 DrawItem 132 Enter 132 Format 133 FormatQuery 133 GiveFeedback 134 indice.p65 7
VIII Help 134 InputLangChange 134 InputLangChangeRequest 135 KeyDown 135 KeyPress 136 KeyUp 137 Layout 137 Leave 138 MDIChildActivate 138 MenuComplete 139 MenuStart 139 MouseDown 140 MouseEnter 140 MouseHover 141 MouseLeave 141 MouseMove 142 MouseUp 143 Move 143 PanelClick 144 QueryContinueDrag 144 Resize 145 Scroll 145 TextChanged 146 UserString 146 Validated 147 Validating 147 ValueChanged 148 5.3 Eventi, eventi, eventi 148 Capitolo 6 Input 149 6.1 Controlli e moduli 149 Utilizzo dei controlli TextBox 150 Utilizzo di controlli RadioButton 159 Utilizzo di controlli CheckBox 164 Utilizzo di controlli ScrollBar 172 6.2 Mouse 183 6.3 Altri input? 190 Capitolo 7 Moduli multipli, menu e finestre di dialogo comuni 191 7.1 Moduli multipli 191 7.2 Menu 198 Codifica degli elementi di menu 200 Inserimento di segni di spunta sulle selezioni di menu 206 7.3 Finestre di dialogo comuni 208 indice.p65 8
IX Aggiungere una finestra di dialogo ColorDialog 208 Aggiungere una finestra di dialogo FontDialog 214 7.4 Input utente unico 221 Capitolo 8 Output 223 8.1 Uscite 223 8.2 Output MessageBox 224 8.3 Output con controlli TextBox o Label 229 8.4 Output con un controllo TextBox Multiline 234 8.5 Output tabellare con un controllo TextBox 239 8.6 Output tabellare utilizzando un modulo 246 8.7 Output su stampante 251 8.8 Altre tecniche di output e di formattazione 259 Capitolo 9 Fondamenti di grafica 261 9.1 Il namespace System.Drawing 261 Dettagli sulla classe Graphics 262 9.2 Namespace System.Drawing.Drawing2D 265 Dettagli sulla classe Graphics 265 9.3 La classe Graphics per C# 267 9.4 Sistemi di coordinate 271 9.5 Superficie di disegno 275 9.6 Proprietà grafiche 276 Colori 276 Stili di linee 279 Stili di pennello 280 Il progetto DrawAndFill 280 9.7 Primitive di disegno grafico 285 DrawArc 285 DrawEllipse 286 DrawLine 287 DrawPie 287 DrawPolygon 288 DrawRectangle 288 DrawString 289 FillEllipse 290 FillPie 290 FillPolygon 291 FillRectangle 292 Il progetto DrawingPrimitives 292 9.8 Altre tecniche grafiche 297 Capitolo 10 Immagini e grafiche 299 10.1 Visualizzazione di un immagine 299 Codice per il progetto Bitmap 301 indice.p65 9
X 10.2 Un semplice esempio di animazione 303 Codice per il progetto Flags 304 10.3 Un progetto con grafici 312 Codice per il progetto BarChart 313 Prova del progetto BarChart 328 10.4 Cosa segue 330 Capitolo 11 Esempi numerici 331 11.1 Calcolatrice per le conversioni 332 11.2 Contatore di numeri primi 339 11.3 Tavola trigonometrica 345 Form2 346 Form1 351 11.4 Trovare il numero di giorni di un mese 360 11.5 Ora del giorno 366 11.6 Statistiche 375 11.7 Ordinamento 383 11.8 Cosa segue 390 Capitolo 12 Applicazioni finanziarie 391 12.1 Depositi regolari su un conto 391 Sviluppo del codice per il progetto 392 12.2 Prelievi regolari da un conto 401 Sviluppo del codice per il progetto 401 12.3 Svalutazione di un bene 408 Aggiunta di codice al modulo 409 Svalutazione del bene e condivisione di dati 416 12.4 Pagamento di un prestito 416 Sviluppo del codice 418 Opzioni per il pagamento di prestiti 423 12.5 Una tabella di ammortamento di ipoteca 424 Codice per il progetto Mortgage 426 Codice di Form2 426 Codice di Form1 431 12.6 Cosa segue 439 Capitolo 13 Grafici professionali 441 13.1 Un diagramma a barre 441 Sviluppo del codice 443 13.2 Un diagramma a torta 460 Codice del progetto 461 13.3 Cosa segue 474 Indice analitico 477 indice.p65 10