文章插图
控件1:WebBrowser
微软WinForm开发框架中老牌控件 。
- 默认基于IE7内核,对H5网页加载支持不完善 。
- 只支持单线程模式,大部分对其操作必须在创建它的线程中执行,不可以在其它线程中调用其方法或属性 。
- 性能相对较弱 。
WebView 使用原始的 Edge (Trident) 渲染引擎,是 Windows10 唯一的控件,功能、性能不理想 。
控件3:Microsoft Edge WebView2【强烈推荐】
Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、css 以及 JavaScript) 。WebView2 控件使用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机应用中显示 web 内容 。使用 WebView2,可以在本机应用的不同部分嵌入 Web 代码,或在单个 WebView 实例中生成所有本机应用 。
文章插图
下图是在Winform程序中使用WebView2组件加载我的博客园页面的效果
文章插图
控件4:CefSharp
CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法 。CefSharp拥有WinForms和WPF应用程序的浏览器控件,以及自动化项目的OffScreen版本 。CefSharp基于Chromium Embedded Framework,这是Google Chrome的开源版本 。
-
- CefSharp中文帮助文档,请点击查看
- 免费、开源:https://github.com/cefsharp/CefSharp
- 支持JS、C#、WinForm窗体之间相互通讯与调用 。
- 兼容性较好,支持H5、CSS5、WebGL等 。
- 支持获取Cookies较全面 。
- 通过NeGet安装SDK时,运行时环境会被自动下载到当前项目的bindebug 或者 binRelease目录下 。导致整个项目非常大,大约110M左右 。
- 以独立进程方式运行,消耗内存较多 。
- 当控件Dock属性设置为 Fill,客户端电脑的缩放与布局不是100%时,窗体呈现黑边(严重bug),并没有完全填充父容器 。
文章插图
文章插图
实际项目应用效果如下图(缩放比例为100%):
呈现的模型是三维BIM模型,里面用到了HTML5、CSS3、WebGL等新技术 。
文章插图
控件5:Miniblink
Miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件 。其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink 。Miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi 。
文章插图
- 开源地址:https://github.com/weolar/miniblink49/releases
GeckoFX是skybound工作室开发的一个开源的用于方便将gecko引擎(最主要的浏览器是firefox)链接到.net 窗体应用的一个组件 。它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件 。
控件7:DotNetBrowser
DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用中,用来显示使用HTML5、CSS3、JavaScript、Silverlight等技术构建的现代网页 。
文章插图
- 收费
- 官网:https://www.essentialobjects.com/Products/WebBrowser/Default.aspx
- 收费
文章插图
控件9:Sciter.Forms
Sciter.Forms是基于Sciter桌面引擎的.NET类库,支持.net framework4.x、.NET CORE、.NET5及更高版本,支持Windows及Linux桌面系统 。
- Sciter为桌面UI开发带来了一系列web技术 。网页设计师和开发人员可以在创建外观现代的桌面应用程序时重用他们的经验和专业技能 。
- Sciter允许使用经过时间验证、健壮且灵活的HTML和CSS来定义GUI,并使用GPU加速渲染 。
- Sciter引擎是一个单一的、紧凑的DLL,大小为5+Mb 。使用它的应用程序比使用Electron或Qt构建的应用程序小10倍以上 。
推荐阅读
- Asp.Net在线预览Word文档的解决方案与思路
- 9个叹为观止的微信小程序,个个好用不要钱,建议低调使用
- 在用 Android 软件摸鱼前,让我们先用 Windows 11 虚拟桌面提高生产力
- 重学SpringMVC:框架原理解读 + 简单入门程序+组件分析.
- Jar包程序部署后如何启动和停止
- 一套代码,多端运行——使用Vue3开发兼容多平台的小程序
- 塑料加工有哪些加工程序
- 公交|西安人注意!微信“乘车码”小程序不再支持公交 官方致歉
- H5 微信小程序和网页开发的区别
- 程序员,一个容易被误解的职业