Я знаю, что это вопрос от многих лун назад, но я действительно не смог найти
простой ответ с кодом ...
Я знаю, что SLaks как бы указывал на это, но я думаю, что другим нужен пример кода ...
Я хотел знать, кто вызывал контекстное меню между полем для расширенного текста или надписью.
Причина в том, что я хотел только одно контекстное меню и хотел, чтобы кнопка копирования в нем была
отключено, если вызывающим абонентом было поле расширенного текста, в котором ничего не выделено.
Вот мой код:
private void contextMenuStrip1_Opened(object sender, EventArgs e)
{
//get the context menu (it holds the caller)
ContextMenuStrip contextMenu = sender as ContextMenuStrip;
//get the callers name for testing
string controlName = contextMenu.SourceControl.Name;
//test if it is infact me rich text editor making the call.
if (controlName == "text_rchtxt")
{
//if I have nothing selected... I should not be able to copy
if (text_rchtxt.SelectedText == "")
copy_shrtct.Enabled = false;
}
else
{
//if I do have something selected or if its another control making the call, enable copying
copy_shrtct.Enabled = true;
}
}