2009-03-05 5 views
1

J'essaie d'ajouter dynamiquement des éléments à un toolstrip avec le code suivant:Event Handling Avec Dynamic ToolStripItem

contextMenuStrip.Items.Add(string.Format("{0} kB/s", currSpeed), null, new EventHandler(Connection.SetSpeed)); 

Le problème est que je dois passer un paramètre à Connection.SetSpeed: currSpeed ​​(int) . Comment puis-je faire cela?

Merci pour votre temps. Cordialement.

Répondre

1

Appeler ajouter vous retourner un ToolStripItem, si vous définissez sa propriété Tag à la variable currSpeed ​​vous devriez être en mesure de tirer que ToolStripItem via l'argument de l'expéditeur dans la méthode Connection.SetSpeed ​​lorsque l'élément se cliqué ...

ToolStripItem item = contextMenuStrip.Items.Add(string.Format("{0} kB/s", currSpeed), null, new EventHandler(Connection.SetSpeed)); 
item.Tag = currSpeed; 

void Connection.SetSpeed (object sender, EventArgs e) 
{ 
    ToolStripItem item = (ToolStripItem)sender; 
    int currSpeed = (int)item.Tag; 

    // Do stuff... 
} 
+0

merci! c'est ce que je cherchais –