Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
Ciao ragazzi vado subito al dunque, come faccio a visualizzare il contenuto di una riga del listbox dentro il tooltip passandoci semplicemente sopra?
|
|
marco1 (Normal User)
Pro
Messaggi: 157
Iscritto: 12/02/2009
|
Io non l'ho mai fatto! xo ci provo...
Codice sorgente - presumibilmente VB.NET |
Dim _SelectedIthem as integer Private Sub ListBox1_MouseMove(ByVal sender as object, byval e as system.windows.forms.mouseeventargs) handles ListBox1.MouseMove Dim _tmp as integer _tmp = math.troncate(e.y/Listbox1.IthemHeight) + ListBox1.TopIndex if _tmp => Listbox1.ithem.count then _selectedIthem = -1 : Exit Sub If _selectedIthem <> _tmp or _selectedithem = -1 then _selectedithem = _tmp Tooltip1.show(listbox1.ithems(_tmp).tostring,Listbox1, e.x+10,e.y,500) end if end sub
|
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Se aggiunti un controllo ToolTip1, ad esempio, al form, a tutti gli altri controlli viene aggiunta la proprietà "Text on ToolTip1", ossia il testo da visualizzare tramite il tool tip appena creato.
|
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
Postato originariamente da marco1:
Io non l'ho mai fatto! xo ci provo...
Codice sorgente - presumibilmente VB.NET |
Dim _SelectedIthem as integer Private Sub ListBox1_MouseMove(ByVal sender as object, byval e as system.windows.forms.mouseeventargs) handles ListBox1.MouseMove Dim _tmp as integer _tmp = math.troncate(e.y/Listbox1.IthemHeight) + ListBox1.TopIndex if _tmp => Listbox1.ithem.count then _selectedIthem = -1 : Exit Sub If _selectedIthem <> _tmp or _selectedithem = -1 then _selectedithem = _tmp Tooltip1.show(listbox1.ithems(_tmp).tostring,Listbox1, e.x+10,e.y,500) end if end sub
|
|
ci sono un sacco di h in piu in items poi troncate nn è cosi ma truncate corregendo questi errori il codice funziona visualizza la riga pero con dei problemi, tipo se clicco su una riga del listbox mi scompare tutto il testo per ricomparire appena muovo il mouse
Totem: come posso sfruttare quello che mi hai detto per raggiungere il risultato da me desiderato? |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Aggiungi un controllo TooTip, gestisci l'evento MouseHover della listbox e in base all'elemento selezionato usa ToolTip.Show per visualizzare il tooltip.
|
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
io vorrei fare conparire il tooltip con il semplice passaggio del mouse senza che l utente selezioni la riga
Ultima modifica effettuata da Dyango il 09/11/2010 alle 17:50 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
MouseHover si riferisce all'evento generato quando il mouse si ferma su un elemento. Puoi benissimo usare GetItemAt e PointToClient per ottenere l'elemento sotto il puntatore del mouse, su un po' di fantasia!
|
|
Dyango (Normal User)
Pro
Messaggi: 83
Iscritto: 02/01/2009
|
Postato originariamente da Il Totem:
MouseHover si riferisce all'evento generato quando il mouse si ferma su un elemento. Puoi benissimo usare GetItemAt e PointToClient per ottenere l'elemento sotto il puntatore del mouse, su un po' di fantasia! |
il listbox non dispone del metodo GetItemAt quindi ho provato con il listview, premetto che ci devo caricare dentro 13800 elementi circa, e ci mette parecchi minuti nel caricamento contro i pochi secondi del listbox quindi non è fattibile a mio avviso, anche se nel tooltip viene visualizzata correttamente la riga proprio come vorrei io |
|