我的应用程序中有一个文件列表,我想让人们右键单击一个项目并显示Windows资源管理器上下文菜单。我假设我需要使用IContextMenu接口,但我不确定从哪里开始。
答案 0 :(得分:11)
我写了一个可以帮助你的图书馆。您可以使用库提供的控件,或者如果您不想这样做,查看代码可能会给您答案。
您可以在http://gong-shell.sourceforge.net/
找到该库请告诉我这是否有帮助!
答案 1 :(得分:5)
有一个非常好的教程(尽管在C ++中)关于在Raymond Chen的博客上以11个部分(按顺序)托管IContextMenu:
答案 2 :(得分:4)
我发现了一篇很棒的Code Project文章,它很好地将所有内容封装到一个类中!
它就像下面的代码片段一样简单:
// Sample code
ShellContextMenu ctxMnu = new ShellContextMenu();
FileInfo[] arrFI = new FileInfo[1];
arrFI[0] = new FileInfo(this.treeMain.SelectedNode.Tag.ToString());
ctxMnu.ShowContextMenu(arrFI, this.PointToScreen(new Point(e.X, e.Y)));
唯一令人讨厌的事情是,它需要一个FileInfo []数组或一个DirectoryInfo []数组,尽管稍微修改一下源非常容易,因此需要一个FileSystemInfo数组[]