Отображение контекстного меню windows (файл / каталог) в приложении c # winforms - PullRequest
7 голосов
/ 06 апреля 2010

Я пытаюсь отобразить стандартное контекстное меню для файлов / каталогов в приложении WinForms - я бы хотел, чтобы пользователь мог делать вещи с файлами в моем приложении, как он мог бы в Проводнике.

Должно быть два варианта

  • всплывающее контекстное меню с некоторым системным вызовом
  • прочитать все из системного контекстного меню и вставить его в мое контекстное меню

Не могли бы вы указать мне правильное направление? Спасибо

Ответы [ 2 ]

8 голосов
/ 06 апреля 2010

Я написал библиотеку .NET, чтобы разрешить это. Вы можете найти его здесь:

http://gong -shell.sourceforge.net /

В этой библиотеке вы ищете класс ShellContextMenu.

4 голосов
/ 01 ноября 2011

Это может оказаться очень сложным, поэтому я предлагаю два решения:

  1. (Легко) Используя библиотеку, предложенную Гроки, делает то, что делается в FolderSizes . Контекстное меню Проводника отображается как подчиненное -контекстное меню. Вы можете смоделировать это, отображая меню проводника, когда наведен элемент «Операция проводника».

    enter image description here

  2. (Hard) Если этого недостаточно, вы можете пройти весь путь и получить пункты меню из оболочки, и создать свое собственное меню. В этой статье CodeProject (http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx) описан процесс перечисления и вызова команд оболочки для определенного объекта оболочки, а также порядок перечисления подменю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...