ListBox Custom

lunedì 18 maggio 2009 - 12.47

ivan_nn2 Profilo | Newbie

Salve a a tutti...

sono molto inesperto nell'utilizzo del C#. Ero curioso di sapere come era possibile customizzare completamente i controlli.
Anche graficamente. Come si fa a fare dei controlli, come per esempio quelli di winAmp o dei programmi del tipo sintetizzatori musicali...
Creare ex novo una interfaccia graficamente differente da i controlli offerti dal Visual C#
In giro vedoi solamente pacchetti di controlli a pagamento...
E' così complesso?
Nelmio caso vorrei fare una listbox che sia coerente con le icone che ho creato nel programma... e che possa utlizzare dei font ttf specifici.
Oppure l'effetto delle icone del Macintosh su ITunes, ...anche quello è molto complesso da fare?.. Qualcuno sa darmi un'indicazione su come iniziare?..

Grazie, Ivan

freeteo Profilo | Guru

>Salve a a tutti...
Ciao

>Creare ex novo una interfaccia graficamente differente da i controlli
>offerti dal Visual C#
>In giro vedoi solamente pacchetti di controlli a pagamento...
>E' così complesso?
diciamo che non è impossibile, ma sicuramente devi scrivere un bel po' di codice per fare quello che ti interessa...chiaramente poi dipende da cosa nello specifico vuoi fare, cmq diciamo che devi lavorare con gli oggetti del namespace "System.Drawing" ossia le classi grafiche, per andare a customizzare ogni elemento.
Ma per cose semplici come font, immagini, o altre cose puramente grafiche non è poi tanto difficile, perchè ad esempio nella Listbox come nella ComboBox puoi andare a farti le tue customizzazioni nell'evento "Draw_Item" (messo a disposizione dal controllo proprio per questo tipo di esigenze), dopo che gli hai detto che il comportamento è gestito da te, impostando la proprietà "DrawMode".

Guarda questo mio post di tempo fa:
http://blogs.dotnethell.it/freeteo/ComboBox-e-OwnerDraw-anteprima-dei-Font-a-tendina__11463.aspx
li viene fatto per semplice per una combo, ma il concetto è uguale anche per la ListBox, chiaramente come vedrai, devi scrivere il codice per "disegnare" le cose che vuoi nella zona relativa all'elemento corrente...sicuramente non è semplicissimo farlo a codice, ma non è certo impossibile.

Per avere qualcosa di veramente agile, e soprattutto non avere limitazioni sui controllo Windows, devi passare a WPF (Windows Presentation Foundation), dove l'aspetto di un controllo non ha limiti di possibilità...una vera rivoluzione sotto questo punto di vista.

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5