У меня есть следующий код для создания контекстного меню:
Код: Выделить всё
protected override bool CanShowMenu() {
log("CanShowMenu");
/* redacted */
log("YES");
return true;
}
protected override ContextMenuStrip CreateMenu() {
var menu = new ContextMenuStrip();
try {
log("getting menu");
var mainItem = new ToolStripMenuItem {
Text = "Assembler A->Z"
//,Image = Properties.Resources.AssembleAZ
};
mainItem.Click += (sender, e) => {
log(SelectedItemPaths);
};
menu.Items.Add(mainItem);
} catch (Exception? ex) {
log(ex);
}
return menu;
}
Код: Выделить всё
,Image = Properties.Resources.AssembleAZ
Код: Выделить всё
Properties.Resources.AssembleAZТогда я даже не вижу «меню получения» в журналах, и журнал (ex) не регистрирует никаких ошибок.
Но я получаю логи из CanShowMenu().
И, проверив реестр *\shellex\ContextMenuHandlers\MyKey, кажется, что сервер правильный установлено.
Любая помощь приветствуется.
Я также пытаюсь напрямую загрузить изображение из существующего файла:
Код: Выделить всё
Image.FromFile(@"c:\temp\AssembleAZ.png");
System.MissingMethodException: метод не найден: 'Void System .Windows.Forms.ToolStripItem.set_Image(System.Drawing.Image)'
Подробнее здесь: https://stackoverflow.com/questions/793 ... g-an-image
Мобильная версия