Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
MenuItem non selezionato
martedì 11 aprile 2006 - 10.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
mar 11 apr 2006 - 10:00
Ciao a tutti
ho utilizzato l'articolo
http://www.dotnethell.it/articles/Menu-Immagini-Icone.aspx
per creare un mio context menu che appare quando seleziono un elemento di una Listview e clicko con il tasto destro del mouse su di esso.
La cosa strana è che la prima volta che lo faccio se muovo il mouse sul context menù, non viene selezionato nessun item, mentre se cambio elemento della listview o in ogni caso se faccio riapparire il context menu, tutto torna alla normalità.
Quindi il problema si verifica solo alla sua prima apparizione.
Altre informazioni:
- se al posto del mouse uso le freccette della tastiera, tutto va (fino a che non passo sopra il mouse che mi fa perdere di colpo la selezione fatta da tastiera)
- se posiziono il mouse sull'angolo in alto a sinistra del context menu mi seleziona il primo item ma appena lo sposto da lì la selezione scompare.
Qualche idea?
TROVATO!!!
Nell'evento DrawItem associavo una stringa al text del mio menuItem e questo in qualche modo gli dava fastidio!!!
Caspita....mi sembra un bug non indifferente!!!
19018
Profilo
| Expert
502
messaggi | Data Invio:
ven 14 apr 2006 - 14:00
Ciao, scusa ma solo ora ho visto il post.
Non riesco a riprodurre il bug, a me funziona tutto senza problemi.
Bohh!
Stefano Passatordi
http://blogs.dotnethell.it/stem/
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
ven 14 apr 2006 - 14:05
Hai provato nel drawItem ad assegnare il text al menuItem?
Ad esempio quando così (riprendo il codice dell'articolo)
Private Sub MenuItem1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles MenuItem1.DrawItem
e.DrawBackground() '1.
Dim Icn As New Icon(Application.StartupPath & "\icone\SIZEGRIP.ICO") '2.
e.Graphics.DrawIcon(Icn, e.Bounds.X, e.Bounds.Y) '3.
Dim fnt As New Font(Me.Font, FontStyle.Bold) '4
MenuItem1.Text="pippo"
e.Graphics.DrawString(MenuItem1.Text, fnt, Brushes.Black, 20, e.Bounds.Y) '5
Icn.Dispose() '6
fnt.Dispose() '7
End Sub
Questo era il mio problema e ho scoperto che si risolve per l'appunto assegnando fuori il calore del controllo.
19018
Profilo
| Expert
502
messaggi | Data Invio:
ven 14 apr 2006 - 15:13
Prova a passare direttamente la stringa in questo modo (così come riportato nell'articolo):
e.Graphics.DrawString("Prova menu", fnt, Brushes.Red, 20, e.Bounds.Y)
A me così funziona senza problemi.
Fammi sapere.
Stefano Passatordi
http://blogs.dotnethell.it/stem/
Klaus-zanini
Profilo
| Senior Member
364
messaggi | Data Invio:
ven 14 apr 2006 - 15:19
Sì come è scritto nell'articolo funziona anche a me, ma quello di cui necessitavo è che il nome del menuItem non fosse fisso bensì venisse cambiato a seconda delle necessità (utente inglese o utente italiano...).
Comunque basta assegnare il text fuori da quella funzione e tutto va bene.
Magari se qualcuno si trova nello stesso mio problema ora sa come risolverlo
Ciao
Torna su
Stanze Forum
Elenco Threads
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 !