Ho un ContextMenuStrip
che è assegnato a diverse caselle di riepilogo. Sto cercando di capire quando ContextMenuStrip
viene cliccato su cosa ListBox
è stato utilizzato. Ho provato il codice seguente come inizio ma non funziona. Il sender
ha 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;
}
}
}
if
istruzioni 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.