Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] User Control , drawItem o magari esiste una soluzione piu' veloce ?
Forum - C# / VB.NET - [VB.NET] User Control , drawItem o magari esiste una soluzione piu' veloce ?

Avatar
masterz (Normal User)
Newbie


Messaggi: 8
Iscritto: 28/02/2011

Segnala al moderatore
Postato alle 23:39
Domenica, 04/05/2014
Salve ragazzi , sicuramente esiste una via piu' semplice per quello che devo fare ,
ho un frame nella parte sinistra della mia applicazione ,
in questo frame devo visualizzare diverse caselle in cui appaiono alcune informazioni ,

, testo colorato e qualche piccola GIF , inoltre
-devo essere in grado di utilizzare eventi tipo click , mouseon , etc...
-non so a priori quante caselle occorrono e devo crearle in runtime
-deve esserci una scrollbar

pensavo di modificare una listbox e utilizzando drawITEM andare a modificare di volta in volta quello che devo visualizzare,

pero' poi mi trovo con una serie di problemi quali , come andare a modificare di volta in volta il testo all'interno di ogni cella utilizzando i metodi standart del controllo ?


Vi chiedo gentilmente se potreste darmi qualche idea!


programmatore solitario
PM Quote
Avatar
mattia1481 (Member)
Pro


Messaggi: 84
Iscritto: 03/11/2008

Segnala al moderatore
Postato alle 14:50
Lunedì, 05/05/2014
A mio avviso l'utilizzo della classe ListBox attraverso la funzione OnDrawItem è la soluzione più corretta per il tuo scopo, i tuoi dubbi su come indirizzare correttamente gli input delle periferiche agli items del ListBox li risolvi attraverso l'uso delle funzioni GetItemRectangle, IndexFromPoint, SelectedIndex etc.

Diversamente puoi provare a sviluppare un controllo custom che definisca il tipo di item e popolare con una matrice di questi ultimi un controllo FlowLayoutPanel con proprietà FlowDirection impostata su TopDown, creando così un controllo simile ad un ListBox.

Buon lavoro.

Mattia.


Mattia Riviera
PM Quote