cca*_*oni 4 .net c# internet-explorer webbrowser-control winforms
我正在使用Web浏览器控件在我的应用程序中显示一些动态生成的HTML文档.
问题是,在我的机器上说文件显示有点放大.在其他同事的电脑上,一切看起来都很"正常".它必须是某种本地设置,但我找不到改变它的位置.
我可以按CTRL +滚轮缩小,但不保留缩放级别.据我所知,没有简单的方法来以编程方式设置预定义的缩放级别.
这可能是一个很长的镜头,但我担心它与Internet Explorer(我从未使用过)及其设置有关.不幸的是,改变控制类型不是一个可行的选择.
非常感谢任何帮助,谢谢.
问题是,在我的机器上说文件显示有点放大.
Internet Explorer遵循Windows缩放设置.因此,您在WebBrowser具有缩放100的系统上控制时将看到的大小与您在WebBrowser具有缩放150的系统上看到的大小不同,而两个WebBrowser控件都设置为100%缩放.
原因是因为缩放.缩放系数与Windows缩放系数除以100或相同physicalScreenHeight/logicalScreenHeight.
据我所知,没有简单的方法来以编程方式设置预定义的缩放级别.
实际上有.要更改Web浏览器控件的缩放级别,可以IWebBrowser2从WebBrowser.ActiveXInstance属性中获取实例,然后使用其ExecWB方法,设置此方式的缩放:
int OLECMDID_OPTICAL_ZOOM = 63;
int OLECMDEXECOPT_DONTPROMPTUSER = 2;
dynamic iwb2 = webBrowser1.ActiveXInstance;
object zoom = 200; //The value should be between 10 , 1000
iwb2.ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, zoom, zoom);
Run Code Online (Sandbox Code Playgroud)
您还可以添加引用Microsoft Internet Controls (SHDocVw.dll)和强制WebBrowser.ActiveXInstance转换SHDocVw.WebBrowser并使用ExecWB方法.但是上面的代码没有添加任何引用就可以实现.
Web浏览器缩放与CSS3缩放完全不同.但您可能想知道如何设置文档体缩放:webBrowser1.Document.Body.Style = "zoom:200%";
所有上述代码应在文档完成后运行.