在我的博客《C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案》、《C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸》、《C#开发BIMFACE系列...但是BIMFACE官方并未提供CS客户端程序的二次开发插件,如果想在CS客户端程序中集成BIMFACE应用,也只能借助Web网页,然后将网页集成到客户端程序中,这样就间接的达到了目的。...下面是审图系统中的实际应用案例 WinForm程序中集成网页的基本原理就是通过一个包含类似浏览器功能的控件,将Web网页载入并解析渲染出来。...http://mybrowse.osfipin.com WinForm Browser 控件 WebBrowser 微软WinForm开发框架中老牌控件。...WebView2 控件使用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机应用中显示 web 内容。
还有一种非常常见且实用的业务场景, Web网页与WinForm程序互相集成应用。 在百度网盘的网页中,点击【下载】按钮,首先会检查本地是否已经启动客户端网盘。...http://mybrowse.osfipin.com WinForm Browser 控件 WebBrowser 微软WinForm开发框架中老牌控件。...CefSharp中文帮助文档,请点击查看 免费、开源:https://github.com/cefsharp/CefSharp 支持JS、C#、WinForm窗体之间相互通讯与调用。...WebView2 Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。...WebView2 控件使用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机应用中显示 web 内容。
WebBrowser控件可以通过以下步骤来添加和使用:在Visual Studio中打开WPF应用程序并打开窗口的XAML文件。在控件库中找到WebBrowser控件并将其拖放到窗口中。...在代码中,可以使用WebBrowser控件的Navigate()方法来导航到指定URL的网页。...CanGoBack:表示是否可以后退。CanGoForward:表示是否可以前进。Document:获取当前页面的HTML文档。IsNavigating:表示是否正在导航。...NavigateToString:根据指定的HTML文本导航到一个新的页面。Navigate:根据指定的URI导航到一个新的页面。...3.具体案例以下是一个简单的WPF WebBrowser控件的案例:在WPF窗口中添加一个WebBrowser控件:WebBrowser Name="browser" />在代码中,使用Navigate
数据采集-续)",就将用WebBrowser进行与HTML网页进行混合使用,在HTML的对象中我要在我的WebBrowser控件中通过读取数据库,将Winform的控件在HTML中进行呈现,然后将我们的...;我感觉在用WebBrowser进行抓取的时候最大的问题就是网页加载问题,在WebBrowser控件中有一个事件是我们必须要用到的DocumentCompleted事件,在网页加载完毕过后我们要进行相应的判断...这个是我们Winform窗口,WebBrowser控件就是我封装的那个控件,大家请注意,在我们层层跳转到最后的采集页面时,我们要将事件链中的第一个事件断开,为什么要断开,是因为我们的WebBrowser...控件的DocumentCompleted事件总是会在网页加载完毕后触发,一旦当我们进入到采集生命周期中的时候,这部分的逻辑我们是不需要在处理的,这里就涉及到一个技术细节“委托链”,如果对这方面的东西不太了解的话...B/S的系统,需要将我们的C/S系统的数据作为B/S系统的操作条件,在输入查询条件的时候,我们需要调用我们的Winform窗口,进行数据查询,然后将我们的Winform结果填到HTML的文本框中;
如果想在C/S架构的客户端程序中集成Web应用,也只能借助Web网页,然后将网页集成到客户端程序中,这样就间接的达到了目的。...http://mybrowse.osfipin.com 控件1:WebBrowser 微软WinForm开发框架中老牌控件。 默认基于IE7内核,对H5网页加载支持不完善。...WebView2 控件使用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机应用中显示 web 内容。...下图是在Winform程序中使用WebView2组件加载我的博客园页面的效果 控件4:CefSharp CefSharp是一种将功能齐全的符合标准的web浏览器嵌入C#或VB.NET应用程序的简单方法...CefSharp中文帮助文档,请点击查看 免费、开源:https://github.com/cefsharp/CefSharp 支持JS、C#、WinForm窗体之间相互通讯与调用。
在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互。比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图。...2,使用WinForm的JS之间的直接交互。 以上两种方法:第一种方法明显的缺点就是整个综合调度台的风格不一致,而且在开发过程中,调试麻烦,调试过程受网络的影响较大。...如何实现WinForm和Javascript之间的交互成为解决这个问题的核心问题。...; } functionInvokeFunc() { window.external.ShowMessage(“呵呵”); } (2)创建一个WinForm应用程序,在应用程序窗体上添加一个浏览器控件...:webBrowser1 (3)在WinForm的窗体Form1中添加一个button按钮。
与WPF的区别,WPF和winform最大的区别在于WPF底层使用的DirectX,winform底层使用的是GDI+,所以WPF的图形界面上更胜一筹。...为解决上述问题,在WPF中嵌入第三方控件时,往往需要借助WindowFormsHost控件,使用该控件可以包裹Winform控件,再将Winform的句柄暴露给第三方控件,即可实现在指定区域进行类似OSG...xml winform:WebBrowser> 三、WindowFormsHost...的置顶缺陷 在WPF中调用windowFormsHost的控件时,由于渲染机制的问题总会出现各种问题,让许多人纠结头疼的便是: windowFormsHost控件在一个位置时会优先显示,而且完全设置不了顺序...引用 在xaml中添加 xml <xmlns:interop=clr-namespace:Microsoft.DwayneNeed.Interop;assembly=Microsoft.DwayneNeed
做了一个Winform的项目。项目里使用了WebBrowser控件。以前一直都以为WebBrowser是直接调用的系统自带的IE,IE是呈现出什么样的页面WebBrowser就呈现出什么样的页面。...我的Winform程序加载了一个Web项目。这个项目对IE8一下的浏览器布局兼容不是太好。本机使用的是IE8,项目是.net4.0。用本机浏览器查看Web项目没有任何问题。...可是调用Winform里的WebBrowser浏览Web项目页面却出现了布局问题。所以我就开始质疑到底WebBrowser是不是IE8的模式啊。...在搜了一些相关资料原来WebBrowser使用的是IE的兼容模式进行浏览(IE7模式)。 如何让WebBrowser引用IE 8 呢。...键值名称写入你的程序名,然后在数值数据填入1f40。也就是IE8 ? 填写完毕后。到程序目录下打开就可以看到WebBrowser已经引用IE8模式了,这里要主意的是不要在VS打开。
自己做浏览器,用WebBrowser控件即可,弹窗用WinForm窗口的置顶属性即可。 好了,开始动手干吧!...2,WebBrowser控件操作HTML DOM HTML DOM属性 知道了抢票网页的弹层ID,我们的WebBrowser控件必须要能够访问它的属性,这里主要是样式的显示属性 DISPLAY的值。...中的功能,可以引用COM组件中的 MSHTML组件得到。...找到WebBrowser 控件关联的HTML文档的Windows属性对象,调用execScript 方法即可。刷新间隔是5秒,可以修改成其它值。...由于修改刷新间隔时间会增加12306的处理负载,故这里不直接公布具体如何修改,感兴趣的可以自己去研究。
阿笨将从自己实战项目经验角度出发,带领大家快速上手WinForm企业级应用程序开发从入门到精通,实际感受一下C/S软件架构模式的开发效率!...2.4、WinForm实战技能之玩转多文档页签控件 1)、开源WeifenLuo.WinFormsUI.Docking多文档页签控件了解和掌握。...2.5、WinForm实战技能之玩转导航菜单控件 1)、开源UtilityLibrary导航栏菜单控件了解和掌握。...2)、如何实现带百分比进度显示的 “数据加载...Loading” 加载显示控件。 3.0、WinForm实战技能之玩转分页Page控件 1)、如何优雅的使用分页Page控件。...只要您认真的学完《 WinForm企业级框架实战项目演练 》课程,以后在工作中可以轻轻松松的应对一般小型的桌面应用客户端管理系统的开发工作。 四、课程在线观看
我们继续“.NET实现之(WebBrowser数据采集)“系列篇之最后一篇,这篇本人打算主要讲解怎么用WebBrowser控件来实现“虚拟”的交互性程序;比如我们用Winform做为宿主容器,用Asp.net...做相关收集程序页面,我们需要通过客户端填写相关数据项,在通过Asp.net进行收集传递到服务器端进行查询,然后展现给用户,这样的操作是需要用户界面的;请看图: 1: 这是服务器端的aspx页面,这个页面是要根据地区名称查询相关信息的...,而我们的地区名称需要用户在客户端的程序中填写;如果是简单的填写那么我这篇文章就没有必要写了,我们需要的是具有友好的用户体验的方式进行填写,客户端的数据库中可能保存着上万个地区名称,我们不可能让用户都记着...,再说地区名称可能存在着汉字差异; 2: 这是一个WebBrowser控件,我们用这个窗体进行承载; 3: 还有一个窗体我们把它设计成无边框的窗口,后面我们将要用它来展现需要填写的数据;下面我们就来展示...WebBrowser控件的强大而无法比拟的优越性; 4: 这样的用户体验,没人说不好吧;.netWebBrowser大概全部讲完了;
5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2...控件 .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件 .NET混合开发解决方案9 WebView2...属性 Response 是包含用户名和密码属性的对象。 导航事件流程 下图显示了 WebView2 应用的基本身份验证的导航事件流: 主机应用指示 WebView2 控件导航到 URI。...HTTP 服务器可能会接受身份验证凭据并返回请求的文档。 WebView2 控件呈现返回的文档。..."服务器为 WebView2 控件提供文档"导航。 第一种类型的导航后,服务器要求进行身份验证,并且应用需要再次尝试这种导航 (使用新的导航 ID) 。
;开场白就不在继续唠叨下去了,我们进入主题,今天我要讲的内容是通过一个简单的.NETWinform控件去抓取页面上的HTML代码中的数据,这种需求其实也不少,本人有幸在工作当中曾经开发过自动数据采集程序...,做过Winform程序的朋友可能很容易理解,在我们Winform控件库里有一个叫做WebBrowser的控件,其实这个控件是在浏览器的COM组件上进行了一层封装,让我们不需要去关注COM与.NET之间的互操作技术问题...,有兴趣的朋友可以去研究研究,怎么注入HTMLDom对象数据;通过WebBrowser控件打开页面,我们就可以通过获取WebBrowser对象的Document属性拿到页面上的所有HTML代码,我们在借助于第三方的...;这样就能让初学者不容易糊涂了,其实我们能做的事情还有很多,如果觉得托管的WebBrowser的满足不了需求,可以直接使用COM组件进行使用,里面包括复杂的对象继承关系,可以实现动态注入HTMLDom中的数据...,不同的开发平台如:j2ee、.net,在后台的处理是不一样的,但是到了浏览器都是一样的,都是HTML代码;只要我们细心分析就能找到HTML中的规律进行遍历获取数据;希望这篇文章能帮助你简单的理解了WebBrowser
easyui) 意图是让开发人员就只要掌握C#代码,就能写出漂亮的UI界面 第一步:WUI库中的主窗口 一个WinForm程序必然有一个主窗口 我们把这个主窗口封装到WUI库中 这个主窗口里面有一个WebBrowser...,(这对于最终的用户来说是不可见的,最终使用者不会操作这个WebBrowser) 第二步:基础的UI资源 我们在WUI库中添加了一些基础的UI资源,注意这些资源都会被复制到输出目录中,以后会考虑把这些内容做到...)中,Application.Run了我们在WUI库中创建的窗体(对于一个基于WUI库创建的程序来说,只有这么一个窗口),我们知道这个窗口的WebBrowser中没有任何东西,然而我们给WUIMain的属性...让我们来看看WUIMain的代码 (说明一下WB就是我们的浏览器控件了)首先:我们让浏览器加载了那个主页文档(以后我们会做成动态的路径)第二:我们创建了一个RenderContext类的实例,并且把Main...ComVisible就调用不到 第三:在WUIPageLoaded方法中,我们让浏览器执行了一段脚本,就是PanelMain的ToJs方法里的脚本了,这个时候就把这个控件渲染到浏览器中去了 第四:我们调用了
在开发中我们经常将WebBrowser控件嵌入Winform 程序来浏览网页,既然是网页那么少不了JS。下面就让我们来说说他们两之间的相互调用。...在C#封装的浏览器内核中,Chromium 内核封装有Xilium.Cefglue、Cefsharp,Webkit 内核封装 Webkit.Net 、OpenWebKitSharp等。...(ele); 相当于更改Html 的DOM结构,在标签后添加标签,程序加载最后会执行text 中的JS代码。...JS 调用 C# 方法 接下来,我们来说说今天的重点,在JS中怎么调用C# 提供的方法。...,但是对于复杂对象传递,涉及到JS对象和C#对象转换,并不是很方便,能用字符串的还是用字符串吧。
5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2...控件的导航事件 客户端程序(WinForm、WPF、Win32、WinUI)集成WebView控件加载Web完成后,还有两种常见的需求 C#调用JS方法 执行通用方法,设置网页特效。...加载页面文档对象模型(DOM)内容或完成导航后调用此方法。 AddScriptToExecuteOnDocumentCreatedAsync 创建 DOM 时,在每个页面上运行。...只有直接在结果中的属性包含在 JSON 编码的对象中;继承的属性不包括在 JSON 编码的对象中。 大多数 DOM 对象继承所有属性,因此需要将它们的值显式复制到另一个对象中才能返回。...2、将 JavaScript 文件转换为传递到 ExecuteScriptAsync的字符串,方法是在页面导航完成后粘贴以下代码: string text = System.IO.File.ReadAllText
5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2...控件 .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件 在我的博客《.NET混合开发解决方案7...使用导航ID(在NavigationId事件中提供)跟踪每个新文档的导航事件。每次成功导航到新文档时,WebView2的NavigationId事件都会发生更改。...第一次导航的 NavigationCompleted 事件。 第二次导航的所有其他相应导航事件。 在错误情况下,可能有或可能没有内容加载事件,这取决于导航是否继续导航到错误页面。...相同的文档导航事件(例如导航到同一文档中的片段)不会导致NavigationStarting事件,也不会增加NavigationId事件。
问题来了,ECharts是个前端JS库,只支持在页面上使用,要使用ECharts组件,可以在WPF窗体中Host一个WebBrowser控件,然后挂接本地运行目录的页面来实现。...步骤: 1、去ECharts官网下载ECharts库和相关示例 页面,复制到exe运行文件目录中。 ? 2、创建一个WPF项目,增加一个View类。...因为WebBrowser控件是个Windows Form控件,WPF窗体不能直接运行WinForm控件,然后在WPF窗体上添加WindowsFormsHost控件,此WindowsFormsHost控件可作为...Win From控件运行的容器。...3、使用ECharts包装的控件在WPF窗体中展示图表,使用起来非常简单,把控件放到需要展示图表的窗体中,在EyChartView_Initialized方法中并把参数传递给图表控件来控制图表的样式、大小及数据内容等
net网站对用户是否登录的判断依据是:检查浏览器客户端是否存在有效的cookie验证票据,如果在c/s winform中登录的同时,能让用户浏览器生成验证票据,则实现在winform中登录后,浏览网站时无需再重复登录的问题得已解决...,webRequest或webClient虽然可以达到用程序访问该页的效果,但并不能正确设置浏览器的cookie,正确的解决办法是在winform中放置一个webBrowser,让webBrowser来访问该页...再来看第二个问题,如何在winform中使用网站的MemberShip数据库,这里提供二种基本的解决方案: (a)在winform中引用System.Web,这样的话,就可以直接使用Membership...类了,但不建议这样做,原因是:如果在网站的web.config中修改了membershipProvider的相关信息,比如applicationName后,winform中的设置也必须完全相同,否则的话...进行验证,通过返回true,不通过返回false,在winform应用程序中,直接调用这个webservice即可
其次、'在PictureBox控件中显示GIF动画(图片),凡有句柄hwnd的窗体控件均可以;在窗体Form1上添加2个命令按钮Command1,Command2和1个图片框控件Picture1。...具体方法如下: 1.由于WebBrowser控件并不是VB的基本控件,因此在使用该控件之前必须先将其装入工具箱中。...GoForward: 进入到下一屏。 GoHome: 回家。即回到主页。 Stop: 停止导航。 Refresh: 刷新。 Navigate:导航。...WebBrowser控件所响应的事件: BeforeNavigate事件: 在开始导航前发生。一般在此获取完整的URL字符串。...WebBrowser控件最主要的参数: URL: 获得导航用的标准URL字符串。