Une réponse très, très tard, juste parce que je me trouvais à lutter avec la même question et googlé cette question. Ce que j'ai trouvé comme la meilleure solution ajoute une belle torsion aux réponses jusqu'à présent. Ici, il est:
void toolStripItem_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
var label = (ToolStripItem)sender;
this.contextMenuStrip1.Show(this.mainStatusStrip, label.Bounds.X + e.X, label.Bounds.Y + e.Y);
}
}
Ajout coordonnées de la souris par rapport au témoin (e.X, E.Y) aux limites des coordonnées rend le menu apparaît exactement la bonne position. Si vous omettez cela, le menu s'affiche dans le coin supérieur gauche de ToolStripItem. Pour l'enregistrement.