在我的博客《C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案》中介绍了多种集成BIMFACE到客户端程序中的方案。最后推荐大家使用 CefSharp组件与WebView2组件。本篇文章介绍使用CefSharp组件如何集成BIMFACE到客户端程序中。
在我的博客《.NET混合开发解决方案10 WebView2控件调用网页JS方法》中介绍了C#调用网页中定义的JavaScript方法以执行某种业务逻辑,同样WebView2控件中加载的网页中自定义的JavaScript方法中也可以调用C#方法。
在前一篇博客《.NET混合开发解决方案11 网页JS调用C#方法》中介绍了JS访问C#方法的简单实现方式。但是在企业级应用软件中业务需求可能更加复杂,如JS调用C#方法之后,需要访问宿主的窗体,设置窗体(WinForm、WPF、WinUI、Win32)中的控件等。
在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互。比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图。综合调度平台的大部分功能都是使用WinForm实现的;但是定位和地图部分都不是自己开发的需要使用第三方接口,实现地图的展示,而第三方的接口使用的是Javascript实现的。这种情况有一下两种方法解决:
.NET混合开发解决方案19 使用 DevTools 协议帮助程序 .NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 .NET混合开发解决方案21 WebView2 应用的开发最佳做法 .NET混合开发解决方案22 开发安全的 WebView2 应用 .NET混合开发解决方案23 将 WebView2 应用分发为单个可执行文件
web.blink(miniblink)使用新版chromium内核,并且精简了体积,兼容WKE( WebKit )组件的接口。 aardio中提供了基于WKE( WebKit )的web.kit 扩展库,也提供了基于miniblink的web.blink扩展库。 这两个扩展库基本的用法是一样的( 因为接口基本一样 )。
企业级信息化系统绝大部分采用BS架构实现,如门户网站、OA系统、电商网站等,通过浏览器输入Web网址即可访问,对于使用者来说非常便捷,对于开发维护者来说也非常方便,程序维护只需更新服务器即可,使用者无感知。但是CS架构的WinForm客户端程序仍然具有很实用的价值,如WPS、IT类的集成开发环境(数据库、图形处理软件)、PC端的小工具。本地程序处理性能更优秀,但是频繁更新带来不友好的客户端体验。还有一种非常常见且实用的业务场景, Web网页与WinForm程序互相集成应用。
客户端程序(WinForm、WPF、Win32、WinUI)集成WebView控件加载Web完成后,还有两种常见的需求
CefSharp简单来说就是一款.Net编写的浏览器包,方便你在Winform和WPF中内嵌的Chrome浏览器组件。
CEF是由Marshall Greenblatt于2008年创建的基于Google Chromium的BSD许可开源项目。与主要关注谷歌Chrome应用程序开发的Chromium项目本身不同,CEF专注于在第三方应用程序中促进嵌入式浏览器用例。CEF通过提供生产质量稳定的API,发布跟踪特定Chromium版本和二进制发行版的分支机构,使用户免受基础Chromium和Blink代码复杂性的影响。CEF中的大多数功能都具有默认实现,这些实现提供丰富的功能,同时几乎不需要用户进行集成工作。目前,全球已有超过1亿个CEF安装实例嵌入到来自各种公司和行业的产品中。CEF维基百科页面上提供了使用CEF的公司和产品的部分列表。CEF的一些用例包括:
在用串口开发和硬件设备通讯的程序,主要是对机器的参数设置以及读取机器数据(通常为传感器测量数据),经常要需要串口调试助手。为了让自己的硬件产品方便日常配置参数和读取信息,通常单独开发一个小软件来实现常用的功能。这种软件通常使用C/S界面,比如C#和winform来开发。
在我的博客《C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案》、《C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸》、《C#开发BIMFACE系列51 Web网页中使用Vue.js加载模型与图纸》三篇文章中介绍了Web网页中集成BIMFace应用开发的技术方案与示例程序。在建筑领域中涉及的应用管理系统绝大部分都是BS架构Web形式,这是主流趋势。BIMFACE在网页中加载浏览模型图纸时用到了HTML5、CSS3、WebGL等新技术,无需安装任何插件,极速流畅的浏览体验,并且可以集成应用于App、小程序、公众号等移动端。
前言 官网:https://www.aardio.com/ 使用IE内核加载网页 import web.form; /*DSG{{*/ var winform = win.form(text="WebBrowser";right=1365;bottom=767) winform.add() /*}}*/ var wb = web.form( winform ) web.form.gpuRendering(true,11001); wb.go("https://www.psvmc.cn/zjtools/
最近在做Windows桌面程序开发,最初考虑到团队的技术构成(没有.NET开发),决定用Electron作为解决方案来开发,但是最后因为需要实现应用向其它未处于激活状态的应用发消息的功能无法通过自带的api实现(需要借助node-ffi调用dll解决),所以就对各个方案做对比做最后的决策(其实还是在纠结用C#.net还是Electron,其它的方案并不考虑)。
何谓CBS程序 CBS程序就是Client+Browser+Service的程序 纯CS程序写界面,有各种难处,那么我就在Client端引入Browser,让Browser渲染基于HTML的UI界面 何谓WUI 就算用用HTML渲染UI界面,那么开发人员还是要掌握HTML+CSS+JS的知识,这些知识还是比较复杂的 WUI库就是把HTML+CSS+JS封装成起来,组成一个界面元素库,(类似于Extjs和easyui) 意图是让开发人员就只要掌握C#代码,就能写出漂亮的UI界面 第一步:WUI库中的主窗口
做wpf和html混合开发也有一段时间了,从传统桌面开发WPF转到web前端,有相通之处,也有差别比较大的地方,xaml到html都是类似xml的结构,style和web的style类似,而业务逻辑,前者一般是C#实现,后者一般是js,加上之前的学习过,使用起来还算顺手,但总的感觉是WPF开放比html开发方便太多,可能是前者接触更久的缘故,毕竟微软的东西,有自己一套成熟的体系,封装的系统且友好,而html与js,有vue.js,react.js等热门前端框架,无论是扩展性,丰富性,社区活跃度都比WPF要好
B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm、WPF客户端程序依然具有很实用的价值,如设计类软件 AutoCAD与Autodesk Revit、WPS、IT类的集成开发环境(数据库、图形处理软件)、PC端的小工具等等,充分利用了客户端电脑的资源综合计算能力,处理性能更加优秀。如果想在C/S架构的客户端程序中集成Web应用,也只能借助Web网页,然后将网页集成到客户端程序中,这样就间接的达到了目的。下面是客户端审图系统中集成Web网页的实际应用案例
B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的,Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。不依赖用户的电脑操作系统环境,只与浏览器环境有关,当然由于网页复杂性,又延伸出网页前端技术与后端技术,前端技术指的是在浏览器上编程的技术,比如:JS,HTML,CSS,这些前端技术是运行在客户端Browser浏览器上的,而并非在服务器端,如果不信,可以测试一下,当你的页面中包含JS脚本时,若将浏览器属性中的禁用JS启用,你会发现页面中那些依赖JS的技术都没办法使用。后端技术指的是运行在服务器上编程的技术(也就是Server端),比如:C#,JAVA,这些编程技术与我们通常所理解的C#编程,JAVA编程是一样的,只是这里需要考虑到基于HTTP协议的编程。
大概2016年的时候了解到js可以写桌面应用,当时正在用wpf/winform开发cs应用,近几年vue和react在前端的火热,以及node.js在中间层和后端的大量应用,js正在往多端,多平台方向渗透,这个对前端来说是好的,大前端的影响力越来越大。
HTMLayout的功能特别强大,它相当于使用了HTML和CSS,但是干掉了JS(JS使用aardio语法实现),
类似开发WinForm的方式,使用C#开发Android和IOS的移动应用?听起来感觉不可思议,但是实际上确实很强大。
辛苦学习网页开发,回报终于来了,在EasyShu近期推出的几大图表中,已经可以顺利转型为使用网页来进行属性配置了。可以为下一步作兼容WPS推出WPS版本的图表插件作准备,一次开发,多次复用。
这两天,翻出了几年前在校时用 winform 写的小工具,发现虽然能使用,部分功能却是已经需要改进了。
编写一个桌面应用,并在其中添加一个webview控件,就可以模拟成一个简化版的浏览器环境,然后通过js来实现双方的通信。 这种方式实现起来很方便,各种开发语言中都有webview控件,同时还实现了web应用的桌面驻留,使它看起来更像一个桌面应用。
用winform应用程序登录网站的解决方案 背景: 网站使用Membership机制来验证用户 要求: c/s应用程序要用网站上的用户名和密码登录,同时在c/s端登录后,浏览网站时就无需再重复登录 思路: 1。.net网站对用户是否登录的判断依据是:检查浏览器客户端是否存在有效的cookie验证票据,如果在c/s winform中登录的同时,能让用户浏览器生成验证票据,则实现在winform中登录后,浏览网站时无需再重复登录的问题得已解决 具体操作:可在网站上建一个专用页面,功能为验证用户信息
一、背景描述与课程介绍 明人不说暗话,跟着阿笨一起玩WinForm。本次分享课程属于《C#高级编程实战技能开发宝典课程系列》中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集、整理和完善此系列课程! 本次分享课程给大家带来一个基于WinForm桌面应用程序开发的HTTP网络检查工具,希望对的没有接触过C/S架构开发的童鞋有一定的了解和认识吧。 1.1、本次分享课程包含知识点如下: 1)、C#多线程(Thread)的开始、暂停基本使用操作。
本篇我们讲解怎么用CefGlue开发一个最简单的浏览器 一: CefGlue是建立在Cef项目之上的, Cef项目是C/C++的项目; CefGlue只不过是通过PInvoke来访问Cef项目生成的一些dll 下面我们来看看Cef项目生成的一些dll和资源都是做什么用的 打开这个目录\cef_binary_3.1453.1236_windows_xilium\Release libcef.dll-------------------------->Cef的核心类库 icudt.dll------------
WPF 和 Winform 是两个单独的平台,但二者又都是基于 .NET 4.0 以上版本开发的,所以很多.NET开发人员就开始研究如何在WPF中使用Winform。微软已经架设了两个开发平台的之间的通信桥梁,目前为止二者相互转换使用已经相当成熟了,今天主要给大家讲讲如何在这两个平台下调用 ComponentOne 的控件。
一、课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类。这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋,用于不同场合。一位伟大的讲师曾经说过一句话:事物存在即合理!录制这堂课程的目的就是专门给想学习和了解WinForm应用程序的童鞋们。虽然当前主流的架构开发的确大多是WEB端和App移动端开发,可能大家都忽略了传统的WinForm桌面应用程序开发的魅力! 如果您对本次分享《 WinForm企业级框架实战项目演练 》课程感兴趣的话,那么请跟着阿笨一起玩WinForm吧!阿笨将从
如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样式表来讲,美化Winform的界面以及自定义控件是需要耗费更多的时间的。
在我的博客《.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明》中介绍了将WebView2控件集成到WinForm程序中编译后的文件及结构信息
3.5)、EF For Mysql如何处理并发脏数据(防止多人同时修改同一条单据数据)
WebView2 应用的基本身份验证包括从 HTTP 服务器检索网页的一系列身份验证和导航步骤。 WebView2 控件充当主机应用和 HTTP 服务器之间通信的中介。
这是小白学习软件开发系列课程,旨在帮助对电脑编程感兴趣的朋友学习并熟悉C#技术。其中基础部分已经讲解完毕,可以查看:C#入门教程(一)–.Net平台技术介绍、C#语言及开发工具
继上个版本号“RDIFramework.NET V2.8版本号公布”5个多月的时间。V2.9版本号面世了,感谢各位的支持。欲了解2.8版本号新增与更新的内容能够查看以下的链接地址,此文就不再展示2.8版本号中的特色了。
在开发中我们经常将WebBrowser控件嵌入Winform 程序来浏览网页,既然是网页那么少不了JS。下面就让我们来说说他们两之间的相互调用。 在C#封装的浏览器内核中,Chromium 内核封装有Xilium.Cefglue、Cefsharp,Webkit 内核封装 Webkit.Net 、OpenWebKitSharp等。 但是说到和JS的调用,不得不说还是IE 的WebBrowser 最为简单方便。至于IE 为啥方便而其他的不方便,以后我会写文章分析。 下面我们还是先看看WebBrowser怎么和J
这是小白学习软件开发系列课程,旨在帮助对电脑编程感兴趣的朋友学习并熟悉C#技术。其中基础部分已经讲解完毕,可以查看:电脑编程入门(10)-C#面向对象编程浅聊,一起自学软件开发
在C#的WinForm窗体程序开发过程中,TextBox是常用的文本框控件,默认的TextBox文本 框输入的内容是可见的,如果在Winform程序中要设置TextBox文本框为密码输入框应该如何设置呢?其实将TextBox文本框设置为密码输入 框,也非常的简单,只需要设置TextBox文本框属性中的PasswordChar属性值,PasswordChar属性值自定义,可以为*号,代表输 入字符显示星号,也可为其他自定义字符。
C#是一个现代的、通用的、面向对象的、面向组件、结构化语言C#的构想十分接近C和C++,是一门面向对象的编程语言,与java非常相似
对比可以看出WebView2控件中的右键上下文菜单内容比Edge浏览器中网页的右键右键上下文菜单的数量少。结合我的博客《.NET混合开发解决方案2 WebView2与Edge浏览器的区别》可知,WebView2控件中对于网页右键上下文菜单做了裁剪。
编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了,听说读写.而使用相同语言的人大脑里都有个翻译器,可以把自己的想法翻译成语言然后用说或写表达出来,而听和读则把接收来的语言翻译成自己大脑能理解的思想.
前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了。
“通过使用 ComponentOne .NET控件产品,实现了兼具 BS 架构灵活性与 CS 架构的客户体验。丰富的控件满足了项目中的各种特殊需求,使得开发的精力可以专注于业务逻辑,为团队节省了时间。” ——农业银行报表资源视窗
GitHub:https://github.com/kwwwvagaa/NetWinformControl
Timer 计时器是在C#开发中经常用到的,但是有很多开发人员对他并不了解,今天这篇文将我们就具体讲解一下C#中的计时器。
2、C#语言是一种运行在.NET Framework平台之下的一种编程语言。我们用C#语言进行开发程序。他必须基于.NET平台之下进行开发。.NET平台把C#语言翻译成机器语言。以达到计算机可以正确运行我们所写的程序的目的。
Qt是C++写的,跨平台的UI框架,Winform/wpf是C#写的不跨平台的Windows上运行的UI框架。
今天大姚给大家分享2款开源、美观的WinForm UI控件库,希望可以帮助到有需要的同学。
本文主要介绍非IE浏览器的ActiveX控件替换方案.常用的做法是通过注册表来注册URL协议来完成这个功能,像腾讯的Tim等软件就是如此,如下图
NanUI是什么 NanUI基于ChromiumFX项目进行开发,它能让你在你的Winform应用程序中使用HTML5/CSS3/Javascript等网页技术来呈现用户界面(类似Electron)。同时NanUI提供了原生窗口和定制化的无标题栏无边框窗口,你能使用全部的网页技术来设计和呈现你的应用程序界面。 开源方式 NanUI基于MIT协议,所以无论你使用NanUI来开发商业项目或者开源、免费项目都将不受任何限制,只需要遵照协议文件中规定的,在你的软件中声明使用了NanUI技术即可。 系列文档 Na
领取专属 10元无门槛券
手把手带您无忧上云