Ho un ContextMenuStripche è assegnato a diverse caselle di riepilogo. Sto cercando di capire quando ContextMenuStripviene cliccato su cosa ListBoxè stato utilizzato. Ho provato il codice seguente come inizio ma non funziona. Il senderha il valore corretto, ma quando provo ad assegnare al menuSubmittedè nullo.
private void MenuViewDetails_Click(object sender, EventArgs e)
{
ContextMenu menuSubmitted = sender as ContextMenu;
if (menuSubmitted != null)
{
Control sourceControl = menuSubmitted.SourceControl;
}
}
Qualsiasi aiuto sarebbe grande. Grazie.
Usando l'assistenza di seguito, ho capito:
private void MenuViewDetails_Click(object sender, EventArgs e)
{
ToolStripMenuItem menuItem = sender as ToolStripMenuItem;
if (menuItem != null)
{
ContextMenuStrip calendarMenu = menuItem.Owner as ContextMenuStrip;
if (calendarMenu != null)
{
Control controlSelected = calendarMenu.SourceControl;
}
}
}
ifistruzioni e di usarleif (menuItem == null) return;se sei come me e non vuoi che il tuo codice che lo gestisce sia annidato di 2 livelli extra inutili.