|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Prato
Messaggi: 449
|
[VB.NET] Posizione ContextMenuStrip
Salve a tutti. sono ora che sto sbattendo la testa conm questo banalissimo controllo.....
il mio problema è che quando vado a fare ContextMenuStrip.Show() mi visualizza il menu nell'angolo in alto a sinistra dello schermo... ma non dvrebbe aprirsi dove si trova il mouse in quel momento??? dove sbaglio? Ciao! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
No ... il contextmenustrip viene visualizzato esattamente nel punto dichiarato nel metodo Show() ...
ContextMenuStrip1.Show() richiede alcuni parametri al suo interno ... almeno 2: - controllo sul quale considerare le coordinate per la visualizzazione - posizione as Point (ovvero coordinate dall' angolo alto a sinistra del controllo) Spesso si usa con 3 parametri: - controllo sul quale considerare le coordinate per la visualizzazione - pixel a destra del controllo - pixel in basso del controllo Nell' esempio che ti riporto qua sotto, facendo click col destro sul form, viene visualizzato il ToolStripMenu alle coordinate (50,50) a partire dall' angolo alto a sinistra del form (controllo Me) ... Codice:
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
ContextMenuStrip1.Show(Me, 50, 50)
End If
End Sub
Private Sub MessaggioToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MessaggioToolStripMenuItem.Click
MsgBox("Ciao ...", MsgBoxStyle.Information, "Messaggio")
End Sub
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Prato
Messaggi: 449
|
Ciao mynos,
sapevo che bisogna passargi i punti se si vuole che appaia in un punt determinato, es. 50,50 io volevo che si aprisse non nel solito punto, ma dove si trova il mouse in quel momento.. ovviamente è una cavolata... mi ha fatto perdere un monte di tempo, ma alla fine ce l'ho fatta..... bisogna andare sul controllo desiderato e associargli alla proprietà ContextMenu, il ContextMenu generato... a quel punto via codice ti puoi limitare a scrivere: ContextMenu.Show() e il menu si aprirà sempre nel punto esatto del mouse....... è stata una mia svista... tipica banalità che ti fa perdere un monte di tempo grazie ugualmente per la tua risposta!! ci sentiamo per il prossimo aiuto a presto!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:14.



















