在c#winforms应用程序中显示窗口(文件/目录)上下文菜单

我试图在WinForms应用程序中显示标准的文件/目录上下文菜单 – 我想使用户能够像在Explorer中一样对我的应用程序中的文件进行操作。

应该有两个选项

  • 用一些系统调用popup上下文菜单
  • 从系统上下文菜单中读取所有内容并将其插入到我的上下文菜单中

你能指点我正确的方向吗? 谢谢

Solutions Collecting From Web of "在c#winforms应用程序中显示窗口(文件/目录)上下文菜单"

我写了一个.NET库允许这个。 你可以在这里找到它:

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

您正在寻找的类是该库中的ShellContextMenu。

这可能证明是非常具有挑战性的,所以我提出了两个解决方案:

  1. (简单)使用Groky建议的库, 做什么在FolderSizes完成。 资源管理器上下文菜单显示为子上下文菜单。 当“资源管理器操作”项目悬停时,您可以通过显示资源管理器菜单来进行模拟。

    在这里输入图像说明

  2. (硬)如果不够,可以直接从shell获取菜单项,并创建自己的菜单。 这个CodeProject文章( http://www.codeproject.com/KB/miscctrl/FileBrowser.aspx )通过枚举和调用特定shell对象的shell命令的过程,以及如何枚举子菜单。