ContextMenu cree dynamiquement
Bonsoir,
Voila, je cree une serie de Boutons sur un Panel en cliquant sur un Bouton "Add".
En meme temps, j'ai cree un ContextMenu dynamiquement avec une seule option "Delete". Soit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Private Sub btn_Click(...
aButton = New Button
aButton.Location = New Point(20, 20)
aButton.Size = New Size(sideB, sideA)
aButton.Font = New Font("Arial", 10, FontStyle.Bold)
AddHandler aButton.MouseDown, AddressOf aButton_MouseDown
AddHandler aButton.MouseUp, AddressOf aButton_MouseUp
AddHandler aButton.MouseMove, AddressOf aButton_MouseMove
'-----------------------------------------------------
' ContextMenu to Delete a Button
'-----------------------------------------------------
Dim cms As New ContextMenuStrip
Dim item As ToolStripItem = cms.Items.Add("Delete")
AddHandler item.Click, AddressOf cmsDelete_Click
aButton.ContextMenuStrip = cms
'-----------------------------------------------------
myPanel.Controls.Add(aButton)
End Sub |
Et l'adresse de cmsDelete_Click:
Code:
1 2 3 4
| Private Sub cmsDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim selectedButton As Button = (From c In myPanel.Controls Select c).FirstOrDefault
myPanel.Controls.Remove(selectedButton)
End Sub |
J'ai donc essaye du LINQ, mais ce n'est pas tout a fait bon.
Dans ce cas j'enleve toujours le dernier Boutons crees dynamiquement et pas le Bouton selectionne.
Je comprends pourquoi, mais je ne vois pas comment resoudre ce probleme. Cela devrait pourtant pas etre tres complique (excepte pour moi apparement!)
Un petit coup de pouce serait le bienvenu.
Merci,
A+
JLuc01