標籤:對象 Google瀏覽器 原始碼 黃色 函數介面 web開發 瀏覽器 image 網路
本文為雞毛巾原創,原文地址:http://www.cnblogs.com/jimaojin/p/7077131.html,轉載請註明
CefSharp說白了就是Chromium瀏覽器的嵌入式核心,我們用此開發Winform程式也就相當於在程式裡面內嵌了一個Google瀏覽器。所以H5/CSS3以及各種Web開發介面設計的優勢就可以完全發揮出來。
由於CefSharp更新及時,所以使用此瀏覽器控制項可能是對於Html5/CSS3支援最優秀的方案了。
1.首先我用的是VS2015,這裡建立一個空白解決方案。
2.空白解決方案建立完成,如所示
3.在空白解決方案裡建立一個Windows表單應用程式項目,這裡我的項目名稱為WinAPP
4.然後在解決方案裡建立一個ASP.Net Web應用程式項目,此項目主要用來進行頁面設計,我命名為WebRes
5.選擇模板為Empty,因為僅僅是編寫最基本的Html頁面和Js互動代碼,不需要服務端程式。
6.這是我的解決方案結構,如下所示,有兩個項目,WinAPP,和WebRes
7.右鍵WinAPP項目,管理Nuget程式包
8.輸入CefSharp,從網路安裝CefSharp.WinForms包
9.安裝完成之後,點擊WinAPP項目的引用,右鍵添加引用菜單,點擊瀏覽。
10.進入解決方案目錄,進入packages目錄。
11.在所示的目錄裡面選中如所示的三個dll,添加到項目引用之中。
12.在所示的目錄裡面選中如所示的一個dll,添加到項目引用之中。
13.添加完成之後,會看到dll上面有黃色驚嘆號。
14.在工具列上點擊如的組態管理員。
15.選中WinAPP項目的上下文平台,點擊建立。
16.這裡我的目標平台是X64,所以建立X64平台,點擊確定。
17.可以看到黃色驚嘆號消失了。
18.回到Winform項目之中,雙擊表單,編寫表單事件代碼。
19.添加如下using
20.添加如下代碼,完成瀏覽器控制項的建立與添加。
21.運行項目,如果沒問題的話,應該可以正確地訪問百度。
22.回到最開始建立的空的ASP.Net Web項目,建立一個Page檔案夾。
23.在Page檔案夾下建立一個名為Index.html的入口html頁面。
24.再建立一個Jmp.html頁面
25.把上一步之中建立的Jmp.html頁面拖動到Winform項目之中。
26.把之前ASP.Net Web項目之中的Jmp.html刪除,並且把Winform項目之中新拖動過來的Jmp.html設定成為“如果較新則複製”。
27.在Winform項目裡的Jmp.html裡面寫上如下跳轉代碼,確保可以跳轉到ASP.Net Web項目之中的入口頁面。
28.在ASP.Net Web項目之中的入口頁面上寫下一句話以方便查看是否跳轉成功。
29.在Winform項目的表單事件代碼裡做如下修改,瀏覽器控制項首先載入目錄下的Jmp.html檔案。
30.調試,可以看到,Winform程式已經載入了我們的入口頁面。
31.在Winform項目裡面建立一個類,這裡我命名為AsyncTest,意為非同步測試類別,也就是JavaScript非同步呼叫C#的非同步測試類別。
32.在非同步測試類別裡加入如下兩個using,以及如下代碼,這裡添加了一個公用的DoSomething方法,參數是兩個JavaScript回呼函數介面,此方法隨機調用成功Success或者失敗Error回呼函數。
33.然後在表單代碼裡建立此對象的執行個體,並且以非同步方式註冊此執行個體。
34.然後在ASP.Net Web項目的入口頁面裡如此調用此非同步對象的非同步方法呼叫,也就是傳入兩個回呼函數。注意這裡的doSomething是必須採用的駝峰寫法,這是之前註冊的時候預設參數設定的,也可以禁止,具體可以自己研究。
35.運行,非同步呼叫成功,哈哈,到這裡就結束了。
上篇教程就到這裡,下面主要是側重於一些工程的布置結構,以及一個執行個體。
這是本篇教程原始碼:http://pan.baidu.com/s/1dE7daF3
本文為雞毛巾原創,原文地址:http://www.cnblogs.com/jimaojin/p/7077131.html,轉載請註明
用Html5/CSS3做Winform,一步一步教你搭建CefSharp開發環境(附JavaScript非同步呼叫C#例子,及全部原始碼)上