将C ++项目转换为DLL以在C#应用程序中使用

时间:2017-06-08 23:02:58

标签: c# c++ .net openfiledialog

我一直在寻找可以同时选择多个文件和多个文件夹的自定义.NET控件的日子。

我发现的唯一一个正是我正在寻找的是下面的那个,但它是用C ++编写的。

https://www.codeproject.com/Articles/28015/SelectDialog-A-Multiple-File-and-Folder-Select-Dia

任何人都可以告诉我如何在C#应用程序中使用它?无论是作为DLL引用还是仅包含我当前解决方案中的项目。

我尝试将其编译为非托管DLL,然后从我的C#项目中执行DLLImport,但无法使其正常工作。

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果类没有为它创建的C#包装器,那就有点棘手了。你绝对确定你需要这个C ++控件 - 根据我的经验,除非你绝对必须,否则我会避免使用除.Net库之外的东西。这很痛苦:0

看看这个 - 这是一个非常好的指令清单: How to Marshal a C++ class

答案 1 :(得分:0)

我最终使用Windows API Code Pack的ExplorerBrowser创建了自己的自定义表单。它看起来就像OpenFileDialog,但您可以同时选择多个文件和文件夹。

我还没见过有人这样做过,所以我可能会在以后的某个地方发表文章......

感谢您的建议。