1. 程式人生 > 其它 >winform製作瀏覽器過程

winform製作瀏覽器過程

技術標籤:winformc#瀏覽器c#winform

winform製作瀏覽器過程

1.依賴

1.1.依賴包

在這裡插入圖片描述
三個缺一不可

2.開始製作

2.1.新建winform頁面

在這裡插入圖片描述

2.2.頁面程式碼

 public partial class WebBrowser : UserControl
    {
        public WebBrowser()
        {
            InitializeComponent();
            IntStart();
        }
/// <summary> /// 初始化瀏覽器 /// </summary> private void IntStart() { CefSettings cefSettings = new CefSettings(); //cefSettings.Locale = "zh_CN"; //cefSettings.CachePath = "cache"; cefSettings.IgnoreCertificateErrors =
true; cefSettings.CefCommandLineArgs.Add("enable-media-stream", "1");//enable webRTC 啟用多媒體 //Cef.Initialize(cefSettings, true, new BrowserProcessHandler()); Cef.Initialize(cefSettings, true,true);//這裡有坑,如果引入的版本比較高的話,需要調整引數,而且 Cef.Initialize 方法只允許初始化一次,建議放在Program 中初始化。
string urlPath = "https://www.baidu.com"; Cef.AddCrossOriginWhitelistEntry(urlPath, "https", "cefsharp.com", false); ChromiumWebBrowser browser = new ChromiumWebBrowser(urlPath) // { Location = new Point(0, 0), MinimumSize = new Size(20, 20), Size = new Size(200, 300), Name = "瀏覽器", Dock = DockStyle.Fill, TabIndex = 5, KeyboardHandler = new KeyBoardHander(), DownloadHandler = new DownloadHandler(), MenuHandler = new MenuHandler(), RequestHandler = new RequestHandler(), LifeSpanHandler = new LifeSpanHandler(), }; //browser.RegisterJsObject("bound", new BoundObject());//可監控頁面的事件,目前js框架無法實現互通。 Controls.Add(browser); } }

順帶提一句:目前winform 巢狀瀏覽器頁面中,監聽事件,事件回撥很難除錯。