分享

WPF界面添加WinForm的Webbrowser控件

 风中Robin 2012-06-21

1.添加引用:

  WindowsFormsIntegration.dll

  System.Windows.Forms.dll

  2.页面代码:

    <Window x:Class="Demo.MainWindow"  
        xmlns=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
        xmlns:x=
"http://schemas.microsoft.com/winfx/2006/xaml"  
        Title=
"MainWindow" Height="378" Width="620" Loaded="Window_Loaded" >  
    <Grid Name="grid">         
    </Grid>  
    </Window>  

  3.后台代码:

     System.Windows.Forms.Integration.WindowsFormsHost host =  
                new System.Windows.Forms.Integration.WindowsFormsHost();  
            
         System.Windows.Forms.WebBrowser web = new System.Windows.Forms.WebBrowser();  
           
         web.Url = new Uri("http://www.baidu.com");  
              
         host.Child = web;  
            
         this.grid.Children.Add(host);  

  防止弹出新的页面,所有的页面只能在webbrowser控件中显示。

  代码如下:

  【将所有的连接都指向本窗体】

    private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)   
    {    
        //将所有的链接的目标,指向本窗体     
        foreach (HtmlElement archor in this.webBrowser.Document.Links)    
        {    
            archor.SetAttribute("target""_self");    
        }    
     
  
        //将所有的FORM的提交目标,指向本窗体     
        foreach (HtmlElement form in this.webBrowser.Document.Forms)    
        {    
            form.SetAttribute("target""_self");    
        }    
  
    }   

  【取消新窗口事件】

    private view sourceprint?private void webBrowser1_NewWindow(object sender, CancelEventArgs e)    
    {    
         e.Cancel = true;    
    } 

  将 WebBrowser 的 AllowWebBrowserDrop 设为 false(禁止拖放)

  将 WebBrowser 的 WebBrowserShortcutsEnabled 设为 false(禁止使用快捷键)

  将 WebBrowser 的 IsWebBrowserContextMenuEnabled 设为 false(禁止右键上下文菜单)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多