Sharpshell с ядром DotNet, молча игнорирует меню при загрузке изображенияC#

Место общения программистов C#
Ответить
Anonymous
 Sharpshell с ядром DotNet, молча игнорирует меню при загрузке изображения

Сообщение Anonymous »


[*]Я создал проект Visual Studio, ориентированный на Windows net8.0.
[*]Я использую SharpShell 2.7.2

Для создания контекстного меню я использую следующий код:

Код: Выделить всё

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) представляет собой копию файла из образцов SharpShell, загруженного вместе с resx-файлом. Я проверил свойства как файла resx, так и файла изображения. Оба варианта соответствуют образцу SharpShell.
Тогда я даже не вижу «получения меню» в журналах, и журнал (ex) не регистрирует никаких ошибок.
Но я получаю логи от CanShowMenu().
И проверив реестр *\shellex\ContextMenuHandlers\MyKey, кажется, что сервер работает правильно установлен.
Любая помощь приветствуется.
====
Я также пытаюсь напрямую загрузить изображение из существующего файла:

Image.FromFile(@"c:\temp\AssembleAZ.png");
< /blockquote>
====
Я включаю Отладка SharShell и получение следующей ошибки:

System.MissingMethodException: метод не найден: 'Void System.Windows.Forms.ToolStripItem.set_Image(System.Drawing. Изображение)».


Подробнее здесь: https://stackoverflow.com/questions/793 ... g-an-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»