【发布时间】:2010-10-01 20:46:12
【问题描述】:
我的应用程序中有一个文件列表,我希望允许人们右键单击一个项目并显示 Windows 资源管理器上下文菜单。我假设我需要使用 IContextMenu 界面,但我不确定从哪里开始。
【问题讨论】:
标签: c# contextmenu explorer
我的应用程序中有一个文件列表,我希望允许人们右键单击一个项目并显示 Windows 资源管理器上下文菜单。我假设我需要使用 IContextMenu 界面,但我不确定从哪里开始。
【问题讨论】:
标签: c# contextmenu explorer
Raymond Chen 的博客上有一个关于托管 IContextMenu 的非常好的教程(尽管是 C++),分为 11 个部分(按顺序):
【讨论】:
我发现了一篇很棒的代码项目文章,它将所有内容都很好地封装到一个类中!
就像下面的代码sn-p一样简单:
// 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[] 数组
【讨论】:
我写了一个库,也许可以帮助你。您可以使用库提供的控件,或者如果您不想这样做,查看代码可能会给您答案。
您可以在以下位置找到该库:http://gong-shell.sourceforge.net/
如果这有帮助,请告诉我!
【讨论】: