मेरे पास ContextMenuStrip
कई अलग-अलग लिस्टबॉक्स में असाइन किया गया है। मैं यह पता लगाने की कोशिश कर रहा हूं कि जब ContextMenuStrip
यह क्लिक किया ListBox
गया था तो इसका क्या उपयोग किया गया था। मैंने शुरुआत के रूप में नीचे दिए गए कोड की कोशिश की, लेकिन यह काम नहीं कर रहा है। इसका sender
सही मूल्य है, लेकिन जब मैं इसे असाइन करने का प्रयास करता हूं तो menuSubmitted
यह अशक्त होता है।
private void MenuViewDetails_Click(object sender, EventArgs e)
{
ContextMenu menuSubmitted = sender as ContextMenu;
if (menuSubmitted != null)
{
Control sourceControl = menuSubmitted.SourceControl;
}
}
कोई भी मदद बहुत अच्छी रहेगी। धन्यवाद।
नीचे दी गई सहायता का उपयोग करते हुए, मुझे लगा कि:
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
कथनों का पालन न करें औरif (menuItem == null) return;
यदि आप मेरी तरह हैं और उनका उपयोग नहीं करना चाहते हैं, तो अपना कोड जो इसे संभालता है, उसे 2 अतिरिक्त स्तरों पर नेस्टेड किया जाएगा।