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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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