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(禁止右键上下文菜单)
WPF界面添加WinForm的Webbrowser控件
最新推荐文章于 2024-09-15 11:57:03 发布
本文介绍了如何在WPF应用中嵌入WebBrowser控件,并通过代码实现防止其弹出新页面、所有链接和表单指向本窗体,同时禁用拖放、快捷键和右键菜单等功能。
1万+

被折叠的 条评论
为什么被折叠?



