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] ToolTip ed elementi ListBox
Forum - C# / VB.NET - [VB.NET] ToolTip ed elementi ListBox

Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 18:46
Domenica, 07/11/2010
Ciao ragazzi vado subito al dunque, come faccio a visualizzare il contenuto di una riga del listbox dentro il tooltip passandoci semplicemente sopra?


la saggezza di un uomo non dipende da quante cose sÓ ma da quante informazioni riesce a trovare
PM Quote
Avatar
marco1 (Normal User)
Pro


Messaggi: 157
Iscritto: 12/02/2009

Segnala al moderatore
Postato alle 22:49
Domenica, 07/11/2010
Io non l'ho mai fatto! xo ci provo...

Codice sorgente - presumibilmente VB.NET

  1. Dim _SelectedIthem as integer
  2. Private Sub ListBox1_MouseMove(ByVal sender as object, byval e as system.windows.forms.mouseeventargs) handles ListBox1.MouseMove
  3. Dim _tmp as integer
  4. _tmp = math.troncate(e.y/Listbox1.IthemHeight) + ListBox1.TopIndex
  5. if _tmp => Listbox1.ithem.count then _selectedIthem = -1 : Exit Sub
  6. If _selectedIthem <> _tmp or _selectedithem = -1 then
  7. _selectedithem = _tmp
  8. Tooltip1.show(listbox1.ithems(_tmp).tostring,Listbox1, e.x+10,e.y,500)
  9. end if
  10. end sub



E solo un po rudimentale... ma funziona... molto probabilmente esiste gia qualcosa di pronto... ma questo Ŕ un buon inizio... :k: :k: :k:


xx    xx xxxxxxx    xxxxx
xx    xx xx    xx  xx
xx  xx  xxxxxxx  xxxxxxx
  xxxx   xx    xx xx    xx
   xx    xxxxxxx   xxxxxx  
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:26
Lunedý, 08/11/2010
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.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 17:01
Martedý, 09/11/2010
Testo quotato

Postato originariamente da marco1:

Io non l'ho mai fatto! xo ci provo...

Codice sorgente - presumibilmente VB.NET

  1. Dim _SelectedIthem as integer
  2. Private Sub ListBox1_MouseMove(ByVal sender as object, byval e as system.windows.forms.mouseeventargs) handles ListBox1.MouseMove
  3. Dim _tmp as integer
  4. _tmp = math.troncate(e.y/Listbox1.IthemHeight) + ListBox1.TopIndex
  5. if _tmp => Listbox1.ithem.count then _selectedIthem = -1 : Exit Sub
  6. If _selectedIthem <> _tmp or _selectedithem = -1 then
  7. _selectedithem = _tmp
  8. Tooltip1.show(listbox1.ithems(_tmp).tostring,Listbox1, e.x+10,e.y,500)
  9. end if
  10. end sub



E solo un po rudimentale... ma funziona... molto probabilmente esiste gia qualcosa di pronto... ma questo Ŕ un buon inizio... :k: :k: :k:  


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?


la saggezza di un uomo non dipende da quante cose sÓ ma da quante informazioni riesce a trovare
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:44
Martedý, 09/11/2010
Aggiungi un controllo TooTip, gestisci l'evento MouseHover della listbox e in base all'elemento selezionato usa ToolTip.Show per visualizzare il tooltip.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 17:46
Martedý, 09/11/2010
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


la saggezza di un uomo non dipende da quante cose sÓ ma da quante informazioni riesce a trovare
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:44
Mercoledý, 10/11/2010
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!


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Segnala al moderatore
Postato alle 16:49
Mercoledý, 10/11/2010
Testo quotato

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


la saggezza di un uomo non dipende da quante cose sÓ ma da quante informazioni riesce a trovare
PM Quote