очень, очень поздно ответ, просто потому, что случилось бороться с той же проблемой и гугле этот вопрос. То, что я нашел в качестве лучшего решения, добавляет один прекрасный поворот к ответам до сих пор. Вот оно:
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);
}
}
Добавление мыши координаты относительно контроля (e.X, e.Y) в пределах координат делает меню появляются точно в правильном положении. Опуская это, вы увидите меню в верхнем левом углу инструмента ToolStripItem. Для записи.