使用网页作为C#桌面应用程序中的UI?

时间:2011-03-22 12:20:57

标签: c# html

我正在构建一个带有简单UI的C#桌面应用程序。由于我对HTML / CSS的熟悉,以及之前基于Web的非常相似的应用程序的迭代,如果我可以重用一些现有的HTML / CSS页面作为这个新桌面应用程序的UI,这将是理想的选择。

C#可以做到吗?任何人都可以展示一个使用HTML / CSS页面作为C#桌面应用程序的UI的简单示例吗?

6 个答案:

答案 0 :(得分:14)

其他答案已过时,新的好选择:

  • Electron + Electron-Edge - 是一种与.NET后端(DLL)通信的新Electron应用程序的方法。广泛使用和支持。
  • Neutronium - 最适合需要HTML UI的已编写的.NET WPF应用。需要使用Vue。不太受欢迎且支持度较低。

答案 1 :(得分:6)

CefSharp(https://github.com/cefsharp/CefSharp)是嵌入铬的好方法,但您仍然需要一个网络服务器。请查看http://www.ultidev.com/products/Cassini/以了解IIS的替代方案。

答案 2 :(得分:4)

您可以尝试使用基于Chromium的控件 - DotNetBrowser。此控件提供了广泛的交互选项,如DOM操作和DOM事件,这在您的情况下非常有用。

此外,还有一篇文章演示了如何在C#桌面应用程序中将网页用作HTML UI:https://www.infoq.com/articles/html-desktop-net

关联披露:我与团队合作,创建了DotNetBrowser。

答案 3 :(得分:3)

您可以使用WebBrowser控件将Web浏览器功能添加到您的应用程序中。

您可以创建自己的html并设置WebBrowser控件以显示这些页面。您可以通过单击超链接或使用键盘快捷键在导航历史记录中前后移动来导航。默认情况下,您可以通过右键单击快捷菜单

来访问其他浏览器功能

您甚至可以集中管理这些页面(例如在LAN上),并且LAN上的所有客户端都可以连接到此中心位置。这样您就可以集中修改页面。

检查MSDN上的演练:

How to: Add Web Browser Capabilities to a Windows Forms Application

答案 4 :(得分:1)

不幸的是,WinForms或WPF都不像HTML / CSS那样具有这种用途。您当然可以重复使用布局概念和艺术。而且,由于WPF是最接近它的东西,你甚至可能会保留很多代码隐藏代码。

但简短的回答是:否

答案 5 :(得分:1)

您可以尝试将Web浏览器控件添加到窗体应用程序以显示您的页面。但是这需要远程托管,因为代码将无法在本地执行,除非您在c#中侦听特定链接然后执行操作。

你也可以尝试一下WPF,这是一种新技术,可以像html那样用标记来创建漂亮的gui,你可以通过html体验很快地获得它。