gpt4 book ai didi

C# Windows.Forms.WebBrowser 缩放

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:26 24 4
gpt4 key购买 nike

我的 Windows 窗体应用程序中有一个 WebBrowser 控件,我想更改我正在加载的 HTML 页面(在我的例子中是 Bing map )的“缩放级别”。

我希望找到在“文档”属性级别执行此操作的方法,但是没有缩放或高度/宽度/大小属性可供使用(在浏览器级别有,但我不想调整大小自己控制)。

附件是我想做的事情的照片。有什么想法吗?谢谢。

Browser zooming issue

最佳答案

吉米基本上是对的。但我会继续为您提供完整的代码/解释。

您想添加对 Microsoft Internet Controls 的 COM 引用,以便您可以访问 ShDocVw。

using System;
using System.Windows.Forms;

namespace winforms
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate(new Uri("http://www.google.com"));
webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
}

private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var browser = webBrowser1.ActiveXInstance as SHDocVw.InternetExplorer;
browser.ExecWB(SHDocVw.OLECMDID.OLECMDID_OPTICAL_ZOOM, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT,200 ,IntPtr.Zero );
}
}
}

200 代表缩放级别。EG 200% 缩放。如果你做了 50% 缩放,那就是缩小。换句话说,小于 100 的值意味着缩小,大于 100 的值意味着放大。可能的值范围为 10-1000。

文档链接

不幸的是,许多 COM 组件都是为 C++ 开发人员而不是 C# 编写的,因为 COM 是围绕二进制兼容性的 C++ 范例。因此,在 C# 中,我们可以与这些最初用 C++ 编写的 COM 对象互操作。

关于 COM,您必须记住的另一个技巧是每次添加新功能时,它都会添加到新界面。例如。 IHTMLDocument2 IHTMLDocument3 , IHTMLDocument4等。所以您需要知道您实际想要将 COM 对象转换到哪个接口(interface)。

关于C# Windows.Forms.WebBrowser 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com