我们有几个大型 MFC 应用程序,它们当前调用 COM 对象来打开复杂的对话框。我们希望将对话框集成到应用程序中——我们不想继续使用 COM 对象。
我正在研究在 .NET 中将对话框构建为单独的项目(使用 Windows 窗体,而不是 WPF)的可能性,并提供第二个 C++/CLI 项目来调用它,并且可以从普通的 C++ 代码中调用它。这种结构使得需要合并对话框的多个应用程序可以只选择其解决方案中的项目。 (这些应用程序是遗留应用程序,不可能对它们进行广泛的重写——我们正在慢慢地将它们转移到.NET,但这是一个多年的项目。将应用程序转换为 C++/CLI 不是一个选择。)
我已经构建了这个并通过模型应用程序对其进行了测试,但到目前为止我无法让它在最简单的大型应用程序中工作,并且根据我读过的一些内容,我开始怀疑这是可能的。 (尤其请参阅 this link 。我知道 this Stackoverflow question ,但它似乎不相关。)
所以。这可能吗?关于如何继续的任何建议?
最佳答案
将 Windows 窗体控件封装在用户控件中,并使用 DDX_ManagedControl 将它们嵌入到 MFC 应用程序中:
关于c# - 如何从 MFC 应用程序调用 .NET 窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711669/