我正在使用Web浏览器控件在我的应用程序中显示一些即时生成的HTML文档。
问题是,在我的机器上说,文档显示得有些放大。在其他同事的计算机上,一切看起来都“正常”。它必须是某种本地设置,但我找不到在哪里更改它。
我可以按CTRL +滚轮进行缩小,但不保留缩放级别。据我所知,没有一种简单的方法可以通过编程方式设置预定义的缩放级别。
这可能是一个长镜头,但我担心它与Internet Explorer(我从未使用过)及其设置有关。不幸的是,更改控件类型不是可行的选择。
我们将不胜感激,谢谢。
答案 0 :(得分:5)
问题是,在我的机器上说文档显示得有些缩放 内。
Internet Explorer遵守Windows缩放比例设置。因此,在缩放比例为100的系统上,您在WebBrowser
控件上看到的大小不同于在缩放比例为150的系统上,在WebBrowser
控件上看到的大小,而{{1 }}控件设置为100%缩放。
原因是由于缩放。缩放系数与Windows缩放系数除以100或WebBrowser
相同。
据我所知,没有简单的方法来设置预定义的缩放比例 以编程方式进行操作。
实际上有。要更改Web浏览器控件的缩放级别,可以从IWebBrowser2
属性中获取WebBrowser.ActiveXInstance
实例,然后使用其ExecWB
方法,以这种方式设置缩放比例:
physicalScreenHeight/logicalScreenHeight
您还可以添加对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);
的引用,并将Microsoft Internet Controls (SHDocVw.dll)
强制转换为WebBrowser.ActiveXInstance
并使用SHDocVw.WebBrowser
方法。但是上面的代码在没有添加任何引用的情况下可以达到目的。
Web浏览器缩放与CSS3缩放完全不同。但是您可能想知道如何设置文档正文缩放:ExecWB
以上所有代码应在文档完成后运行。
答案 1 :(得分:3)
问题出在屏幕分辨率上。您的屏幕的分辨率设置较低,而同事的屏幕设置的分辨率高于您的分辨率。
将屏幕分辨率更改为与同事的屏幕分辨率相同,反之亦然,您应该会看到问题已解决。
注意:决定哪种解决方案正确的决定完全取决于客户的需求和期望。您可能还希望一开始就设定正确的期望,以确保在此阶段的后期不会让客户失望。
答案 2 :(得分:3)
可能是显示器缩放了吗? (假设为Win 10,但旧版本必须非常相似)
桌面,上下文菜单->显示设置->在“缩放和布局”下,您的值是否设置为高于100%?
答案 3 :(得分:2)
它的Windows 10发布使所有HDPI设备自动达到200%缩放级别。 首先,右键单击桌面上的任何空白区域,然后选择上下文菜单底部的“显示设置”。或者,您可以转到开始>设置>系统>显示。 Windows 10中的“设置”应用程序可用于按显示器缩放。
没有适当的解决方法,因为我有三个屏幕,并且每个显示器的hdpi不同,并且自动获得200%缩放。因此,其中一个屏幕显示正常,其他两个屏幕则被放大。
window.onload = function() {
var currFFZoom = 1;
var currIEZoom = 100;
$('#In').on('click',function(){
if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6){//Firefox
var step = 0.02;
currFFZoom += step;
$('body').css('MozTransform','scale(' + currFFZoom + ')');
} else {
var step = 2;
currIEZoom += step;
$('body').css('zoom', ' ' + currIEZoom + '%');
}
});
$('#Out').on('click',function(){
if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6){//Firefox
var step = 0.02;
currFFZoom -= step;
$('body').css('MozTransform','scale(' + currFFZoom + ')');
} else {
var step = 2;
currIEZoom -= step;
$('body').css('zoom', ' ' + currIEZoom + '%');
}
});};
<input type="button" id="Out" alt="Zoom Out"/>
<input type="button" id="In" alt="Zoom In"/>