J'utilise menuStrip dans l'application de formulaire Windows et je souhaite ajouter des ports disponibles en tant que sous-menu par programme. J'ai utilisé mouseHover pour faire ceci mais il ajoute les mêmes articles dans chaque action d'hoving. Je veux dire qu'il ajoute l'article dans chaque action d'hoving. Comment puis-je empêcher cela et parvenir à ajouter des éléments (ports) une fois.Comment éviter d'ajouter un élément plus d'une fois à MenuStrip dans C#?
Voici mon code;
String[] ports = SerialPort.GetPortNames();
private void cOMToolStripMenuItem_MouseHover(object sender, EventArgs e)
{
foreach (var item in ports)
{
ToolStripItem subItem = new ToolStripMenuItem(item);
cOMToolStripMenuItem.DropDownItems.Add(subItem);
}
}
Qu'en est-il effacer tous les éléments avant de les ajouter? – Pikoh
pourquoi ne faites-vous pas cela sur l'événement 'Load' du formulaire? – Nino
Si vous n'êtes pas sûr du code d'effacement, voici un lien utile: [Ajout et suppression de ToolStripMenuItem à partir de MenuStrip et DropDownItems dans WinForms] (https://stackoverflow.com/a/4041900/6741868) –