У меня есть проблема с проектом WinForms, использующим формы со сложными элементами управления.
С определенной степенью сложности (например, количество элементов управления) WinForms может стать очень медленным, это я знаю.
Таким образом, чтобы получить разумное отображение Производительность, Application.VisualStyleState
отключена:
Application.VisualStyleState = System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;
Использование более быстрой "Windows classi c theme" делает производительность элементов управления WinForms приемлемой (к сожалению, обычно желательный порт WPF не находится в области видимости ).
Теперь в системах Win10 (без проблем в Win7) элементы управления WinForms FileDialog, вызываемые приложением, отображают «пустое» контекстное меню для элементов, щелкаемых правой кнопкой мыши:
Кстати, со «старым» стилем Win7 у меня все в порядке. Меня беспокоит только пустое контекстное меню.
Попытки альтернатив с использованием WPF FileDialog или WindowsAPICodePack FileDialog выдают оба эти исключения:
" Создание экземпляра компонента COM с CLSID {DC1C5A9 C -E88A-4DDE-A5A1-60F82A20AEF7} из IClassFactory не удалось из-за следующей ошибки: 80040111 ClassFactory не может предоставить запрошенный класс (Исключение из HRESULT: 0x80040111 (CLASS_E_CLASSLE)). "
Есть предложения, как вернуть записи контекстного меню для моего сценария с помощью WinForms FileDialog на Win10?
Или как заставить работать одну из альтернатив (я знаю, что все они вызывают одинаково) родные функции WIN32)?