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:
Et l'adresse de cmsDelete_Click:
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
J'ai donc essaye du LINQ, mais ce n'est pas tout a fait bon.
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
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
Partager