Привет, я добавил контекстное меню на ярлыке (С#, winforms). мое контекстное меню с 3 дочерними элементами, и я хочу отображать текст ярлыка, когда я нажимаю на любое из элементов контекстного меню.
заблаговременно
Ответ 1
Элемент ContextMenuStrip имеет SourceControl, который будет иметь ссылку на элемент управления, который его открыл. Вы можете использовать это, чтобы извлечь текст из элемента управления:
private void MenuStripItem_Click(object sender, EventArgs e)
{
ToolStripItem item = (sender as ToolStripItem);
if (item != null)
{
ContextMenuStrip owner = item.Owner as ContextMenuStrip;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
Если вместо ContextMenuStrip используйте ContextMenu, код должен выглядеть так:
private void menuItem1_Click(object sender, EventArgs e)
{
MenuItem item = (sender as MenuItem);
if (item != null)
{
ContextMenu owner = item.Parent as ContextMenu;
if (owner != null)
{
MessageBox.Show(owner.SourceControl.Text);
}
}
}
Ответ 2
Получить имя родительского контроля контекстного меню
MessageBox.Show(contextMenuStrip1.SourceControl.Name.ToString());