在 Visual C++ 中调用 C# 表单
我必须用 C-sharp(C#) 创建一个表单,并且我想在 Visual C++ 上调用它。我如何在 Visual C++ 中调用我的表单。
I have to create a form in C-sharp(C#) and I want to call it on visual C++. How would I call my forms in visual C++.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有一些解决方案。
1) 如果您愿意打开CLR,那么您可以使用Visual C++ .NET 代码来简单地调用在C# 程序集中编译的表单。
2)如果你无法打开CLR,而你的Visual C++程序可以使用COM来初始化C#窗体。在 C# 应用程序中创建一个 COM 对象来托管表单。创建 COM 工厂来实现 DCOM 的 LocalServer32 模型。这不是一个简单的过程,因此请谨慎使用
3) 如果您的 C# 表单可以转换为 C# 用户控件,那么您可以将 C# 用户控件转换为 ActiveX 并使用它。如果您的 C++ 程序可以托管 ActiveX 控件,则会有所帮助。如果您使用 ATL 或 MFC,那么这里应该不会有太大问题。
Here are some solutions.
1) If your willing to turn on the CLR, then you can use Visual C++ .NET code to simply call up the form which is compiled within the C# assembly.
2) If you cant turn on the CLR, and your visual C++ program can use COM to initialize the C# form. Create a COM object within your C# application to host the form. Create a COM factory to implement the LocalServer32 model for DCOM. This is not a simple procedure, so use with caution
3) If your C# form can be converted into a C# usercontrol instead, then you can make your C# usercontrol into an ActiveX and use that instead. It helps if your C++ program can host ActiveX controls. If your using ATL or MFC, you shouldnt have much problem here.