C# 如何在Winforms ListView中获取资源管理器右键单击菜单?
我使用Winforms ListView来显示一些文件,但除了像资源管理器那样显示文件外,我还希望在右键单击其中的某个项目时,使用相同的资源管理器右键单击菜单C# 如何在Winforms ListView中获取资源管理器右键单击菜单?,c#,.net,winforms,listview,explorer,C#,.net,Winforms,Listview,Explorer,我使用Winforms ListView来显示一些文件,但除了像资源管理器那样显示文件外,我还希望在右键单击其中的某个项目时,使用相同的资源管理器右键单击菜单 这可能吗?如何为我的ListView应用程序启用它?我知道的唯一方法是使用pinvoke和COM来实现。我认为,您需要的非托管API是。完成互操作后(首先检查pinvoke.net),就可以对所需的所有其他内容执行互操作。这并不容易。欢迎来到PIDLs之地。我在右键单击显示自定义上下文菜单时遇到了问题: 我仍然实现了一些不同: p
这可能吗?如何为我的ListView应用程序启用它?我知道的唯一方法是使用pinvoke和COM来实现。我认为,您需要的非托管API是。完成互操作后(首先检查pinvoke.net),就可以对所需的所有其他内容执行互操作。这并不容易。欢迎来到PIDLs之地。我在右键单击显示自定义上下文菜单时遇到了问题: 我仍然实现了一些不同:
private void lstModules_MouseDown(object sender , MouseEventArgs e)
{
hitTest = lstModules.HitTest(e.Location);
switch (e.Button)
{
case MouseButtons.Right:
if (hitTest != null && hitTest.Item != null)
{
// right clicking an item in the listview
selectedModule = hitTest.Item.Name;
lstModules.ContextMenuStrip = mnuContext_OptionsA;
}
else
{
// right clicking in white area of listview
lstModules.ContextMenuStrip = mnuContext_OptionsB;
}
break;
}
}
你需要这个界面。另请参阅。谢谢,希望我能找到解决办法。我看了看pinvoke,但这些似乎不在那里。我不可能是第一个想要这种行为的人,对吧?你可以是第一个愿意和别人分享这种行为的人。这里明显缺少很多东西。你想要浏览器菜单还是类似浏览器的上下文菜单。现在listview中有什么代码?我刚刚在列表视图中做了一些上下文菜单的工作。谢谢,我指的是浏览器上下文菜单,它根据您右键单击的文件显示。现在,我的代码已经显示了带有项目的ListVIEW,但是还没有右键菜单。还考虑使用shell控件Lie shell MePAPACK——这些是具有上下文菜单、拖放、重命名、缩略图视图、详细视图等的类似于浏览器的控件,如Windows资源管理器。