如果您有权访问WinForms应用程序的源代码,那么您最好的方法是从那里提取您需要的代码,并将其直接合并到您的WebForms应用程序中。
如果此代码需要由WinForms和您的WebForms应用程序使用,那么您应该将代码重构为一个单独的类库(DLL),然后由这两个应用程序使用。
如果您只有Windows应用程序的EXE,并且它是一个.Net应用程序,则可以使用Reflection
来创建和使用在此处定义的对象。
如果它不是.Net EXE,告别并感谢所有的鱼(除非它是COM,在这种情况下,告别并感谢所有的鱼)。
更新:我从来没有尝试过这一点,我不推荐它,但我假设你基本上要能够在Web应用程序中使用基于Windows的形式可视组件(即你想让这个东西在浏览器中显示出来)。
您可能能够将原始WinForms项目中的每个Form
重建为位于网页上的ActiveX控件。此链接介绍如何在.NET中创建一个基本的ActiveX控件:
http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx
我不知道浏览器支持的想法ActiveX控件,这些天(我知道有一些还是),而这种做法肯定行不通在非Windows操作系统上。此外,您必须处理在每台客户端计算机上部署和安装可视化组件(并且您需要检查此控件的许可协议 - 几乎肯定会明确禁止此类使用)。
理论上,这是可行的。一个ActiveX控件可以或多或少地做或使用任何常规窗体可以(受权限等)。
你的问题不清楚。 – SLaks 2010-04-09 16:19:36
为什么不把代码放在dll中并引用该dll? – 2010-04-09 16:21:19
我想他想使用WinForms专用控件。 – SLaks 2010-04-09 16:25:06