আমার কাছে একটি রয়েছে 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;
}
}
}
ifstatements সমস্ত বিবৃতি নেস্টেল না করে এবংif (menuItem == null) return;আপনি যদি আমার মতো হন এবং ব্যবহার না করেন তবে আপনার কোডটি এটির চেয়ে বেশি ব্যবহারের অযাচিত 2 স্তরের বাসা বাঁধতে চায় না।