0

谁能帮助我,我如何以编程方式增加或减少 windows phone 7 c sharp 中 Web 浏览器控件的字体大小。我需要它来实现 Web 浏览器控件中的缩放功能。这是我的代码

 private void btn_zoomin_click(object sender, EventArgs e)
    {
        double fs = webBrowser1.FontSize;

        webBrowser1.FontSize = fs+10;
     }

但是字体根本没有改变。

任何形式的帮助将不胜感激。非常感谢, 穆纳扎

4

3 回答 3

2

是的,有一个解决方案,您可以使用 webBrowser 的 "InvokeScript" 在 html 页面中触发一个脚本来放大字体,这是一个示例:

webBrowser1.InvokeScript("ChangeFontSize","12");

TO DO:html 内的脚本:

 <script type="text/javascript">
        function ChangeFontSize(size) {
            .....
            ....
            return true;
        }
<script/>
于 2012-11-28T07:39:31.623 回答
0

我不认为它应该以这种方式工作。

用户可以像在 Internet Explorer 中那样放大和缩小,但不能更改字体大小。

从技术上讲,您可以获取要显示的 html 文件,对其进行解析,如果字体大小是内联定义的,您可以更改它,然后在 WebBrowser 控件中显示新的 html 文件,但我不认为这是一个非常好主意。

于 2012-07-06T07:25:29.257 回答
0

您必须使用 WebBrowser.InvokeScript:

// Initial text size
int textSize = 100;

private void TextPlusOnClick(object sender, EventArgs e)
{
    textSize *= 2;
    string szfn = "{styleText = \"body { -ms-text-size-adjust:" + textSize + "% }\";styleTextNode = document.createTextNode(styleText);styleNode = document.createElement(\"style\");styleNode.appendChild(styleTextNode);document.getElementsByTagName(\"head\")[0].appendChild(styleNode);};";
    webBrowser.InvokeScript("eval", szfn);
}

private void TextMinusOnClick(object sender, EventArgs e)
{
    textSize /= 2;
    string szfn = "{styleText = \"body { -ms-text-size-adjust:" + textSize + "% }\";styleTextNode = document.createTextNode(styleText);styleNode = document.createElement(\"style\");styleNode.appendChild(styleTextNode);document.getElementsByTagName(\"head\")[0].appendChild(styleNode);};";
    webBrowser.InvokeScript("eval", szfn);
}

请参阅文本大小调整属性的描述MSDN 上的这篇文章

于 2013-12-07T22:14:39.100 回答