任何人都可以帮助我,我如何以编程方式增加或减少Windows Phone 7 c sharp中的Web浏览器控件的字体大小。我需要这个来在Web浏览器控件中实现缩放功能。 这是我的代码
private void btn_zoomin_click(object sender, EventArgs e)
{
double fs = webBrowser1.FontSize;
webBrowser1.FontSize = fs+10;
}
但字体根本没有改变。
任何形式的帮助将不胜感激。 非常感谢, Munazza
答案 0 :(得分:2)
是的,有一个解决方案,您可以在html页面内触发一个脚本,通过使用webBrowser的“InvokeScript”来扩大字体,这里有一个示例:
webBrowser1.InvokeScript("ChangeFontSize","12");
待办事项:html中的脚本:
<script type="text/javascript">
function ChangeFontSize(size) {
.....
....
return true;
}
<script/>
答案 1 :(得分:0)
我不认为它应该以这种方式工作。
用户可以像在Internet Explorer中一样放大和缩小,但您无法更改字体大小。
从技术上讲,您可以获取要显示的html文件,解析它,如果fontize是内联定义的,您可以更改它,然后在WebBrowser控件中显示新的html文件,但是我没有&#39;认为这是一个非常好的主意。
答案 2 :(得分: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);
}
请参阅a description on the text size adjust property和this post on MSDN。