У меня есть TreeView, который представляет некоторые файлы/папки в файловой системе Windows. я хочу, чтобы иметь возможность щелкнуть правой кнопкой мыши и отобразить стандартное контекстное меню Windows. Тег узла содержит путь к файлу. Я потратил немало времени на исследования, и нашел это: http://www.codeproject.com/KB/cs/shellContextMenu.aspxКонтекстное меню проводника Windows Вопрос
Однако, кажется, отсутствует элемент «Переименовать». Поэтому я хочу получить это обратно.
Я также хочу знать, как обращаться с функциями. Например, если пользователь переименовывает или удаляет файл, я хочу удалить этот узел/переименовать этот узел соответственно.
Я программирования в C#, .NET 4.
Как бы интегрировать его с моим древовидным представлением, чтобы вызвать режим редактирования? На дереве есть свойство IsEditable, поэтому я хочу иметь возможность правильно его поддерживать. – Eaton
После того, как TrackPopupMenu вернет выбранный идентификатор команды, вы передадите его в IContextMenu.GetCommandString с GCS_VERB. Если возвращаемый глагол «переименован», вы должны использовать встроенную возможность редактирования элемента управления TreeView (TreeNode.BeginEdit). Наконец, примените изменение имени, вызвав IShellFolder.SetNameOf. Вы также можете проверить, возвращает ли IShellFolder.GetAttributesOf SFGAO_CANRENAME, прежде чем добавлять пункт меню «Переименовать». –