2012-10-04 82 views
1

我在我的Windows应用程序中使用网络浏览器控件。我想改变滚动条的外观和感觉。为此,我找到了下面给出的代码项目的链接。 这似乎比较麻烦。所以,而不是有没有其他方式来定制滚动条。我想设计滚动条没有上下箭头。只是滚动。我无法通过此代码来完成此操作。否则我可以更改默认的滚动条,即颜色宽度的外观和感觉等更改网页浏览器的颜色控制滚动条

+0

对不起链接缺失的问题: http://www.codeproject.com/Articles/14801/How-to-skin-scrollbars-for-Panels-in-C –

+1

你不能注入一些CSS代码进入加载页面?实际上,我相信滚动条不是由控件本身拥有,而是由控件内的网页拥有。 –

+0

@Steve B - 其实我正在使用Windows窗体,并以这种形式添加了Web浏览器控件。我们可以在Windows窗体中使用CSS吗?我不知道。如果是,请告诉我该怎么做。谢谢! –

回答

1

您可以使用IHTMLDocument2.styleSheets设置样式:

IHTMLDocument2 _htmlDocument = webBrowser.Document.DomDocument as IHTMLDocument2; 
int length = _htmlDocument.styleSheets.length; 
IHTMLStyleSheet styleSheet = _htmlDocument.createStyleSheet(@"", length + 1); 
styleSheet.addRule("BODY", "scrollbar-face-color: #FF0000;"); 
styleSheet.addRule("BODY", "scrollbar-highlight-color: #FF00FF;"); 
styleSheet.addRule... 

,或者你可以直接在HTML代码中设置CSS

CSS:

<STYLE type="text/css"> 
<!-- 
BODY 
{ 
scrollbar-face-color: #FF0000; 
scrollbar-highlight-color: #FF00FF; 
scrollbar-3dlight-color: #00FF00; 
scrollbar-darkshadow-color: #00FFFF; 
scrollbar-shadow-color: #0000FF; 
scrollbar-arrow-color: #FF00FF; 
scrollbar-track-color: #FFFF00; 
} 
--> 
</STYLE> 

,并在您C#代码设置WebBrowser.DocumentText属性:

webBrowser.DocumentText = "<html><head><STYLE type=\"text/css\"><!--BODY{scrollbar-face-color: #FF0000;scrollbar-highlight-color: #FF00FF;scrollbar-3dlight-color: #00FF00;scrollbar-darkshadow-color: #00FFFF;scrollbar-shadow-color: #0000FF;scrollbar-arrow-color: #FF00FF;scrollbar-track-color: #FFFF00;}--></STYLE></head><body>aaaa</body></html>"; 

需要注意的是:你只能看到彩色滚动条,如果你运行IE 5.5。

+0

谢谢.. !!!它的作品..! –

+0

我可以减少滚动条的宽度吗?如果是,请告诉我。 谢谢.. !!! –