C# Windows资源管理器上下文菜单问题

C# Windows资源管理器上下文菜单问题,c#,C#,我有一个树视图,它表示Windows文件系统中的一些文件/文件夹。我希望能够右键单击其中一个并显示标准Windows上下文菜单。节点的标记包含文件路径。 我花了相当多的时间进行研究,发现: 但是,它似乎缺少“重命名”项。所以我想把它拿回来 我还想知道如何处理这些函数。例如,如果用户重命名或删除文件,我希望删除该节点/相应地重命名该节点 我正在使用C#,.NET 4进行编程。您需要在uFlags参数中包含CMF#U CANRENAME标志,以指示您的主机应用程序支持重命名项。我如何将其与树视图集成

我有一个树视图,它表示Windows文件系统中的一些文件/文件夹。我希望能够右键单击其中一个并显示标准Windows上下文菜单。节点的标记包含文件路径。 我花了相当多的时间进行研究,发现:

但是,它似乎缺少“重命名”项。所以我想把它拿回来

我还想知道如何处理这些函数。例如,如果用户重命名或删除文件,我希望删除该节点/相应地重命名该节点


我正在使用C#,.NET 4进行编程。

您需要在uFlags参数中包含CMF#U CANRENAME标志,以指示您的主机应用程序支持重命名项。

我如何将其与树视图集成以调用编辑模式?树上有一个IsEditable属性,因此我希望能够正确支持它。TrackPopupMenu返回所选命令id后,您可以将其传递给带有GCS\U谓词的IContextMenu.GetCommandString。如果返回的谓词是“rename”,则将使用TreeView控件(TreeNode.BeginEdit)的内置编辑功能。最后,通过调用IShellFolder.SetNameOf应用名称更改。在添加重命名菜单项之前,您可能还需要检查IShellFolder.GetAttributesOf是否返回SFGAO\u CANRENAME。