2017-10-28 450 views
-1

我一直在寻找一段时间,我已经找到了csharp解决方案,但我无法翻译它(在我的vb中实现它。网络应用)。我唯一的目标是,当用户点击一个链接时,不会出现弹出窗口。 感谢您的帮助。 我的vb.net编码技巧是初学者级别,c清晰无知。在C尖锐 工作的解决方案:如何阻止在vb.net项目中的cefsharp浏览器弹出窗口c sharp

using CefSharp; 
using CefSharp.WinForms; 

namespace popup_cefsharp 
{ 
    public partial class frm_main : Form 
    { 
     public frm_main() 
     { 
      InitializeComponent(); 
     } 

     //variable 
     ChromiumWebBrowser chrome, chrome_popup; 

     private void initialize_browser() 
     { 
      try 
      { 
       CefSettings settings = new CefSettings(); 
       Cef.Initialize(settings); 

       //main browser 
       chrome = new ChromiumWebBrowser(this.txt_url.Text.Trim()); 
       LifespanHandler life = new LifespanHandler(); 
       chrome.LifeSpanHandler = life; 
       life.popup_request += life_popup_request; 
       this.pan_container.Controls.Add(chrome); 
       chrome.Dock = DockStyle.Fill; 

       //second browser (popup browser) 
       chrome_popup = new ChromiumWebBrowser(""); 
       this.pan_container_popup.Controls.Add(chrome_popup); 
       chrome_popup.Dock = DockStyle.Fill; 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Error in initializing the browser. Error: " + ex.Message); 
      } 
     } 

     private void carregar_popup_new_browser(string url) 
     { 
      //open pop up in second browser 
      chrome_popup.Load(url); 
     } 

     private void frm_main_FormClosing(object sender, FormClosingEventArgs e) 
     { 
      //close o object cef 
      Cef.Shutdown(); 
      Application.Exit(); 
     } 

     private void frm_main_Load(object sender, EventArgs e) 
     { 
      //initialize the browser 
      this.initialize_browser(); 
     } 

     private void life_popup_request(string obj) 
     { 
      //function for open pop up in a new browser 
      this.carregar_popup_new_browser(obj); 
     } 
    } 
} 

link original posthttps://www.codeproject.com/Articles/1194609/Capturing-a-pop-up-window-using-LifeSpanHandler-an

+0

恐怕这个网站是不是一个代码翻译服务。但是,Google会为您找到很多网站。 – Blackwood

回答

0

终于找到了解决办法,如果有人有兴趣 这里是链接,你将需要安装cefsharp掘金包,增加lifespanhandler作为一个新的类,该文件是在链接,然后复制到调用从MainForm中...... 欢呼声功能的方法... https://github.com/messi06/vb.net_CefSharp_popup

相关问题