更改Web浏览器的颜色控制滚动条

时间:2012-10-04 09:32:28

标签: c# winforms

我在Windows应用程序中使用Web浏览器控件。我想改变滚动条的外观。为此,我找到了下面给出的代码项目的链接。 这似乎更麻烦。所以没有其他方法可以自定义滚动条。我想设计滚动条而不用向上和向下箭头。只是滚动条。我无法使用此代码执行此操作。或者我可以更改默认滚动条的外观,即颜色宽度等。

1 个答案:

答案 0 :(得分:1)

您可以使用IHTMLDocument2.styleSheets设置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...

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

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,则只能看到彩色滚动条。