Visual Studio - componenti .NET (10 videolezioni)
02-03-07 I principali componenti WinForm di Visual
Studio 2005 (con C#) in 70 minuti.
VERSIONE PIU' COMPLETA rispetto a quella del 21-12-06
| Descrizione |
Facendo seguito alla richiesta di alcuni utenti pubblico una nuova videolezione sui controlli visuali di
base .NET per lo sviluppo di applicazioni Windows. E' una carrellata nella quale
ogni componente viene presentato a sè a differenza del progetto 'MiniCad'
sicuramente più intrigante ma anche più complesso e lungo da seguire ...
NOTA: questa videolezione è una riedizione più completa di
quella del 21/12 a cui sono stati aggiunti diversi controlli; in questa manca
però la parte introduttiva all'ambiente e si va 'subito al sodo' cioè all'uso
dei componenti.
Contenuti:
- button
- textbox
- label
- listbox
- combobox
- checkbox
- radio button
- picture box
- date time picker
- richt text box
- GroupBox
- Panel
- SplitContainer
- TabControl
- menu strip
- context menu strip
- ToolStrip
- color dialog
- font dialog
- open/save file dialog
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) |
| Download |
1h e 7m di videolezione click qui 47 MByte
|
21-12-06 I principali componenti WinForm di Visual
Studio 2005 (con C#) in 70 minuti.
Introduzione rapida allo sviluppo di una applicazione Win Form con:
Prerequisiti: conoscenza elementare di un linguaggio di
programmazione.
Errata Corrige: nella videolezione ne cito
un'altra sui componenti dateTimePicker, numericUpDown, ImageList, TreeView; in
realtà non esiste ma trovate un esercizio con progetto pronto e commentato qui.
| Descrizione |
Contenuti:
- Creazione di una applicazione WinForm
- button
- textbox (conversioni stringhe<->numeri)
- listbox
- combobox
- checkbox
- radio button
- menu
- color dialog
- font dialog
- open/save dialog |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione) |
| Download |
1h 11m minuti di videolezione click qui 40 MByte
errate corrige: ho tolto il riferimento ad un inesistente progetto usato per la
videolezione.
|
Introduzione all'ambiente Visual Studio
2005 con C# -
ottava parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- rileggere da disco i dati sulle figure da disegnare precedentemente salvati su
un file di testo
- uso dell'oggetto streamReader
- gestione dell'eccezione sollevata quando non viene trovato un certo file
- metodo Peek per rilevare la fine di un file di testo
- metodo readLine, conversione da stringa a intero (argb) a colore
- leggere dati da un file binario (riconoscere l'header di una immagine
PNG)
- uso del BinaryReader e metodo read
- uso elementare degli strumenti di refactoring (solo rinomina di un
identificatore)
- esemplificazione si strutture try ... catch annidate
- esemplificazione di una scansione completa dei byte di un file binario (perchè
è meglio non usare PeekChar per rilevare la fine di un file binario
che si sa non contenere solo testo)
- salvataggio dei dati relativi alle figure su un file binario
- oggetti BinaryWriter e saveDialogBox
- creazione di un file binario
- aggiunta alle classi di tutte le figure di un metodo per salvare i dati sul
file binario
- metodo write
- uso di Pad o PadRigth delle stringhe per ottenere più facilmente record a
lunghezza fissa
- uso di un editor binario freeware (witched) per controllare cosa è stato
effettivamente scritto sul file
- lettura dei dati delle figure dal file binario e ricostruzione del disegno a
video; uso del metodo trim per togliere gli spazi inutili da una stringa,
uso del metodo ReadInt32
- navigare in un file binario con il metodo seek
- modifica di una porzione arbitraria di un file binario |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 5 minuti di videolezione click qui 31 MByte
clic qui per il
progetto usato nella videolezione
|
Introduzione all'ambiente Visual Studio
2005 con C# -
settima parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- le properties, metodi get e set; separazione dell'implementazione interna
dall'accesso esterno (trasformare la proprietà 'colore' delle figure nella
property corrispondente; un assegnamento alla proprietà ridisegna la figura con
il nuovo colore)
- cenni alla modifica dell'implementazione interna (cambio di tipo) della
property colore per evidenziare come se si adattano i metodi get e set affinchè
continuino a restituire i tipi di valori precedenti: per tutto il codice che
usava la classe prima della modifica è come se non fosse cambiato niente
- file di testo: struttura, vantaggi e svantaggi;
- stream, streamreader e streamwriter;
- aggiungere righe ad un file di testo nuovo con il metodo writeline;
- gestione asincrona dell'I/O: il problema del buffer e l'importanza di chiamare
il metodo Close
- aggiungere righe ad un file esistente senza perdere il vecchio contenuto
- gestione degli errori di Input/Output: le eccezioni; il costrutto try ...
catch ... finally; throw
- aggiungere al 'MiniCAD' il salvataggio su un file di testo di tutte le
figure
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 10 minuti di videolezione click qui 32 MByte
clic qui per il
progetto usato nella videolezione
|
Introduzione all'ambiente Visual Studio
2005 con C# -
sesta parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- Aggiunta di un ToolstripContainer in modo da poter agganciare ai lati della
finestra le barre dei bottoni
- Aggiungere un menu all'applicazione: menu su più livelli, associare shortcut
key (combinazioni di tasti per richiamare le voci del menu), associare
un'immagine ad ogni voce del menu
- Dirottare gli eventi da un controllo ad un altro (oppure richiamare dal
gestore di un evento di un controllo il gestore di un evento di un altro
controllo)
- Richiamare da menu il dialog box standard di Windows per scegliere un file
- Aggiungere una seconda form all'applicazione e sua apertura da menu
istanziando un nuovo oggetto tipo Form; differenza tra apertura normale e
modale;
- Chiudere una form: differenza tra Close() e Hide() per il recupero di
informazioni da una form
- Aggiunta di checkbox, radiobutton, e textbox e principali proprietà /
evento principale
- Interrogare lo stato dei controlli di una form dopo che è stata nascosta
- duplicare gli oggetti (ottenere una fila di checkbox)
- Programmare l'evento Load di una form per aggiungere tante righe ad una combo
quanti sono i bottoni di una toolbar presente su un altra form; ogni riga viene
costruita con informazioni specifiche estratte dalle proprietà di ogni bottone
- Generare controlli a run time su una form (un ArrayList di checkbox)
- Aggiungere gestori di eventi ai controlli creati a run time
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 23 minuti di videolezione click qui 41 MByte
clic qui per il
progetto usato nella videolezione
|
Introduzione all'ambiente Visual Studio
2005 con C# -
quinta parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- aggiungere al miniCad la possibilità di tracciare linee usando il mouse
- gestione dell'evento MouseDown e MouseUp per identificare gli
estremi della linea da tracciare
- distinguere qual'è il bottone del mouse premuto in un certo momento
- aggiungere il disegno di rettangoli (con metodi per il calcolo del perimetro e
dell'area: servono per esemplificare il meccanismo del late/dynamic binding più
avanti)
- i quadrati come classe specializzata dei rettangoli: ridefinizione di un
metodo per il calcolo del perimetro più efficiente
- conformità di tipo e static/early binding: esemplificazione con rettangoli e
quadrati
- uso della keyword new per metodi nella classe figlia che devono
oscurare quelli della classe madre
- aggiungere il disegno di ellissi
- gestione degli eventi keyDown e keyUp per far tracciare dei
cerchi scegliendo come figura l'ellisse e tenendo premuto il tasto CTRL durante
il disegno
- gestione dell'evento mouseMove per tracciare/cancellare in tempo reale
la sagoma delle figure durante lo spostamento del mouse
- aggiungere il disegno a mano libera
- memorizzare le figure che vengono via via disegnate in una lista
dinamica (ArrayList)
- attivare il late/dynamic binding (keyword virtual e override)
sul metodo 'disegna'; breve confronto con le tecniche non OOP per capire le
potenzialità di questo meccanismo
- gestione dell'evento paint per ridisegnare le figure quando la finestra
viene spostata oltre i limiti dello schermo o viene nascosta dietro un'altra
finestra: uso del foreach con la collezione ArrayList di figure
|
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 21 minuti di videolezione click qui 41 MByte
clic qui per il
progetto usato nella videolezione
|
Introduzione all'ambiente Visual Studio
2005 con C# -
quarta parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- introduzione teorica (breve) all'ereditarietà
- progetto delle classi per il miniCAD (figure, linee, rettangoli, quadrati,
cerchi ecc.)
- cosa mettere a fattor comune nella classe base (figure): vantaggi
- relazioni di composizione (una linea usa due punti come estremi)
contrapposte a quelle di ereditarietà (relazioni is-a)
- qualche definizione: cllassi base, superclassi, antenate, madri, derivate,
discendenti, figlie ecc.
- riorganizzazione e pulizia nel vecchio progetto di esempio per sfruttare
l'ereditarietà
- implementazione della classe delle figure
- uso della keyword this per accedere alle variabili dello stato interno
in caso di ambiguità con gli identificatori dei parametri di un metodo
- derivare la classe dei punti da quella delle figure
- inizializzare lo stato interno ereditato: accesso diretto ai membri tramite il
livello di accessibilità protected; accesso tramite l'uso di metodi 'get'
e 'set' (non si tratta delle properties, affrontate più avanti)
- costruttori della classe figlia che richiamano quelli della classe madre:
keyword base come inizializzatore;
-utilizzo di this per richiamare da un costruttore un altro della stessa
classe
- problema della non persistenza dei disegni su una form (verrà risolto più
avanti)
- la classe delle linee
- aggiungere alla form una ToolStripBar (barra bottoni) per la scelta della
figura da far disegnare (uso di Paint per realizzare velocemente delle icone
32x32 da usare come immagini per i bottoni sulla toolbar)
- scrivere un gestore di evento da associare a tutti i bottoni della toolbar per
centralizzare la gestione dell'evento e scrivere meno codice e più facilmente
manutenibile;
- gestire la proprietà checked per evidenziare di volta in volta il
bottone in uso: uso del costrutto foreach per iterare su tutti i bottoni
della toolbar e casting del parametro sender; uso del costrutto switch
con le stringhe |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 2 minuti di videolezione click qui 31 MByte
|
Introduzione all'ambiente Visual Studio
2005 con C# -
terza parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- aggiungere un metodo 'disegna' alla classe dei punti per 'accendere' punti
sulla superficie grafica dei controlli
- il metodo CreateGraphics dei controlli e le primitive grafiche richiamabili
dall'oggetto restituito
- metodo DrawRectangle ed esame delle sue versioni overloaded
- l'oggetto grafico Pen; utilizzo delle 'penne' predefinite
- programmare il gestore dell'evento click di un bottone: casting del
parametro EventArgs di quest'ultimo verso un evento di tipo MouseEventArgs
- aggiungere altri costruttori ad una classe
- Utilizzo dell'oggetto Random per estrarre numeri casuali (metodo NextDouble())
- Utilizzo della classe Math (metodo Ceiling() per arrotondare un numero)
- Membri statici di una classe
- Programmare in modo differenziato il click destro/sinistro (accedendo alle
proprietà dell'evento MouseEventArgs): con il mouse destro si seleziona un
colore con il dialog box standard di Windows e con il sinistro si disegnano
punti sulla form;
- breve parentesi sull'uso delle enumerazioni (enum) per comprendere come
il framework rappresenti certi valori associati, ad esempio, allo stato del
mouse o alla risposta data dall'utente all'apertura di un certo dialog box;
- differenza tra l'evento Click e MouseClick; |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
59 minuti di videolezione click qui 29 MByte
|
Introduzione all'ambiente Visual Studio
2005 con C# -
seconda parte
Prerequisiti: video corso sul C/C++ e videolezioni
precedenti sullo stesso argomento.
| Descrizione |
Contenuti:
- Alcuni (brevi) richiami teorici in tema di OOP: modularità, information hiding;
il salto di qualità richiesto alla OOP (cenni all'incapsulamento ed
all'ereditarietà come filosofie di sviluppo)
- confronto tra le tecniche tradizionali (con una breve parentesi sull'uso delle struct) e OOP per la rappresentazione di un oggetto del mondo reale;
criticità dell'approccio non OOP
- l'incapsulamento con C#: classi ed istanze (oggetti), stato interno e metodi
- un esempio concreto: inizio di un progetto 'MiniCAD'; definizione di una
classe per rappresentare punti sullo schermo, come riferirsi ai colori (struct Color di system.drawing); namespace e using (comprimere ed espandere regioni di codice), livello di visibilità public e private, creazione di un oggetto, comando new , il costruttore e
la sua importanza, ridefinire il costruttore base, significato del reference ad un oggetto prima e dopo il comando new;
- creare oggetti dal codice di gestione di un evento: cenni al significato del
parametro sender e del parametro eventargs dei gestori degli
eventi. |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
1h e 10 minuti di videolezione click qui 31 MByte
|
Introduzione all'ambiente Visual Studio
2005 con C# -
prima parte
Prerequisiti: video corso sul C/C++
| Descrizione |
Contenuti:
- prerequisiti
- come procurarsi l'IDE Visual Studio 2005 - C# (free dal sito Microsoft,
nessuna scadenza)
- creare la prima applicazione WinForms
- cenni sull'uso del debugger integrato
- controllare i principali pannelli nell'IDE
- Soluzioni e progetti
- Struttura della cartella di progetto
- Eseguire l'applicazione fuori dall'IDE |
| Formato |
.exe (visualizzatore autoscompattante con
partenza automatica della videolezione)
|
| Download |
48m minuti di videolezione click qui 35 MByte
|
23-03-08 Files di testo
| Descrizione |
Prerequisiti: conoscenza dei costrutti di base di un linguaggio C-like (come nel mio video corso sul C/C++) e dello sviluppo di applicazioni in ambiente grafico windows con Visual Studio e C# (videolezioni su questa stessa pagina...)
Contenuti:
- breve introduzione teorica sui tipi di file (testo e binari)
- definizione dell'obiettivo didattico della lezione: sviluppo di una applicazione per analizzare un file sorgente html per estrarre le righe contenenti tag obsoleti o incompatibili tra i browser; le righe estratte potranno poi essere salvate in un altro file
- definizione dell'interfaccia dell'applicazione
- Apertura di un file di testo attraverso la creazione di un oggetto StreamReader
- lettura di una singola riga da un file di testo (metodi Read/ReadLine)
- tipico ciclo di lettura while di tutte le righe di un file di testo (property EndOfStream)
- chiusura di un file di testo
- creazione di un file di testo in modalità distruttiva attraverso la creazione di un oggetto StreamWriter
- scrittura di righe in un file di testo con i metodo Write/WriteLine e chiusura del file
- la modalità di apertura in scrittura non distruttiva (append)
- scrittura di dati numerici in un file di testo e successiva rilettura con le necessarie conversioni
- trattamento degli errori durante l'uso dei file: gestione delle eccezioni con try ... catch; verifica dell'esistenza di un file prima del tentativo di apertura con il metodo File.Exists
- brevi cenni ad altri overload interessanti di metodi usati nella videolezione e ad altri metodi delle classi StreamReader/Writer: l'approfondimento è lasciato agli studenti
|
| Formato |
.exe (visualizzatore autoscompattante con partenza automatica della videolezione) |
| Download |
46m di videolezione click qui 30 MByte
|
31-03-08 Files binari
| Descrizione |
Realizzazione di una rubrica di contatti.
Prerequisiti: conoscenza dei costrutti di base di un linguaggio C-like (come nel mio video corso sul C/C++) e dello sviluppo di applicazioni in ambiente grafico windows con Visual Studio e C# (videolezioni su questa stessa pagina...). Inoltre è assai consigliata la visione della videolezione sui file di testo con C#).
Contenuti:
PARTE A
- progettazione delle classi Contatti e Rubriche
- schede dati a lunghezza fissa o variabile: pro e contro
- creazione del file rubrica vuoto con controllo esistenza e conferma sovrascrittura (classe FileStream e BinaryWriter
- cenni alle diverse modalità di apertura di un file binario
- scrittura in un file binario
- metodo 'cerca': dal cognome desiderato si ottiene una lista di contatti come risultato
-
apertura in lettura di un file binario (classe BinaryReader)>
-
metodo PeekChar per rilevate la fine del file binario in fase di lettura
- lettura dei dati con i metodi ReadString/int32/double ecc.
- struttura di una stringa su un file binario
- eliminazione degli spazi inutili con Trim()
- aggiunta di una scheda con controllo della presenza di eventuali doppioni (apertura del file in append (formattazione di stringhe ad una lunghezza prefissata: metodo PadRight())
- controllo del contenuto del file binario con un editor binario (Witched)
PARTE B
Contenuti:
- ricerca sequenziale di una scheda di dati nel file binario delle rubriche
- modifica di una scheda della rubrica con ricerca sequenziale; sovrascrittura di una porzione di un file binario
- modifica di una scheda della rubrica con accesso diretto (tramite la posizione della scheda sul file (metodo seek della classe stream)
|
| Formato |
.exe (visualizzatore autoscompattante con partenza automatica della videolezione) |
| Download |
PARTE A: 61m di videolezione click qui 30 MByte
PARTE B: 43m di videolezione click qui 30 MByte
|
Polimorfismo e late binding
| Descrizione |
Assimilare concetti quali polimorfismo e late binding seguendo il gruppo delle videolezioni del corso base non è il massimo della praticità. Per chi ha questa esigenza specifica ho quindi preparato da zero questa videolezione.
Contenuti:
- limiti della gestione statica del binding: difficoltà a gestire contenitori di oggetti diversi ed a trattarli in modo omogeneo
- conformità di tipo
- late/dynamic binding
- come ridurre sensibilmente le righe di codice in situazioni particolari sfruttando polimorfismo e late binding e guadagnare enormemente in estensiiblità dei propri programmi
|
| Formato |
.exe (visualizzatore autoscompattante con partenza automatica della videolezione) |
| Download |
21m di videolezione click qui 15 MByte
|
N o v i t à
Gruppo sul Riordino Istituti Tecnici
NEOASSUNTI in ruolo 2009
25/04/10:
Nuovo esercizio oop / late binding VAI
11/04/10:
Videoesercizio OOP / ereditarieta' e late binding: VAI
06-04-10:
Nuova videolezione: PHP/MySql VAI
04/04/10:
Nuovo videoesercizio (e nuova sezione): I componenti principali di .NET / C# VAI
21/03/10:
Nuova videolezione: introduzione al PHP - 1 VAI
31/01/10:
Nuovo videoesercizio: diagramma ER e schema relazionale di un tema assegnato all'Esame di Stato VAI
20/01/10:
Nuovo videoesercizio C# / OOP: classe FrazioniVAI