Bonjour,
J'essaye de réaliser un événement qui me permet d'ouvrir un menu dans une datagridview, plus exactement, sur un ligne selectionné. J'ai réussi à faire le programme pour avoir un menu qui s'ouvre sur un clic droit mais il ne s'ouvre pas que sur la datagridview mais toute la form. Je voudrai le limité à une ligne selectionné.
Voila le code :
voila au cas ou mes sous fonction qui me crée et ouvre un menu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 'Procédure qui ouvre un menu dans datagridview sur un Click droit. Private Sub AffichierMenu_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDown If e.Button = MouseButtons.Right Then ' Lorsqu'on fait un click *droit* OuvrirMenu() 'Ouvre un menu End If End Sub
Alors le programme marche tres bien mais je voudrai bien pouvoir contrôler le clic droit où je le désire et ensuite je voudrai bien aussi avoir des indication pour savoir comment faire si j'ai selectionner un onglé dans mon menu et les conséquence qu'il entraine !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 Private ContextMenuStrip1 As ContextMenuStrip 'Procedure qui permet d'ouvrir un menu Public Sub OuvrirMenu() ' Create a new ContextMenuStrip control. ContextMenuStrip1 = New ContextMenuStrip() ' Attach an event handler for the ' ContextMenuStrip control's Opening event. AddHandler ContextMenuStrip1.Opening, AddressOf cms_Opening ' Create a new ToolStrip control. Dim ts As New ToolStrip() ' Create a ToolStripDropDownButton control and add it ' to the ToolStrip control's Items collections. Dim fruitToolStripDropDownButton As New ToolStripDropDownButton("Fruit", Nothing, Nothing, "Fruit") ts.Items.Add(fruitToolStripDropDownButton) ' Dock the ToolStrip control to the top of the form. ts.Dock = DockStyle.Top ' Assign the ContextMenuStrip control as the ' ToolStripDropDownButton control's DropDown menu. fruitToolStripDropDownButton.DropDown = ContextMenuStrip1 ' Create a new MenuStrip control and add a ToolStripMenuItem. Dim ms As New MenuStrip() Dim fruitToolStripMenuItem As New ToolStripMenuItem("Fruit", Nothing, Nothing, "Fruit") ms.Items.Add(fruitToolStripMenuItem) ' Dock the MenuStrip control to the top of the form. ms.Dock = DockStyle.Top ' Assign the MenuStrip control as the ' ToolStripMenuItem's DropDown menu. fruitToolStripMenuItem.DropDown = ContextMenuStrip1 ' Assign the ContextMenuStrip to the form's ' ContextMenuStrip property. Me.ContextMenuStrip = ContextMenuStrip1 ' Add the ToolStrip control to the Controls collection. Me.Controls.Add(ts) 'Add a button to the form and assign its ContextMenuStrip. Dim b As New Button() b.Location = New System.Drawing.Point(60, 60) Me.Controls.Add(b) b.ContextMenuStrip = ContextMenuStrip1 ' Add the MenuStrip control last. ' This is important for correct placement in the z-order. Me.Controls.Add(ms) End Sub 'Procedure qui contient ce qui ce trouve dans le menu Sub cms_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) ' Acquire references to the owning control and item. Dim c As Control = ContextMenuStrip1.SourceControl Dim tsi As ToolStripDropDownItem = ContextMenuStrip1.OwnerItem ' Clear the ContextMenuStrip control's ' Items collection. ContextMenuStrip1.Items.Clear() ' Populate the ContextMenuStrip control with its default items. ContextMenuStrip1.Items.Add("Continue Updating") ContextMenuStrip1.Items.Add("-") ContextMenuStrip1.Items.Add("Acknowledge Single Alarm") ContextMenuStrip1.Items.Add("-") ContextMenuStrip1.Items.Add("Open Control Display") ContextMenuStrip1.Items.Add("Open Faceplate Display") ContextMenuStrip1.Items.Add("Open Detail Display") ContextMenuStrip1.Items.Add("-") ContextMenuStrip1.Items.Add("Suppress Alarm") ' Set Cancel to false. ' It is optimized to true based on empty entry. e.Cancel = False End Sub
Merci d'avance pour vos solutions !!
Partager