求助webbrowser如何使选中的标签改变背景色

时间:2022-07-29 14:50:30
鼠标移入页面标签时,该标签背景色变为黄色,移出该标签时背景色还原回去

11 个解决方案

#1


用 mouse enter , mouse leave 事件呀

#2


引用 1 楼 bafzxzh 的回复:
用 mouse enter , mouse leave 事件呀

能给个详细的代码吗,我自己试过了效果不行。

#3


比如一个标签 当鼠标移动到上面时:

        private void labelControl1_MouseEnter(object sender, EventArgs e)
        {
            labelControl1.BackColor = System.Drawing.Color.Red;
        }

#4


引用 3 楼 bafzxzh 的回复:
比如一个标签 当鼠标移动到上面时:

        private void labelControl1_MouseEnter(object sender, EventArgs e)
        {
            labelControl1.BackColor = System.Drawing.Color.Red;
        }

亲,是在webbrowser中。。。

#5


这个貌似不可以,它打开的是一个网页,源文件是html格式的,怎么能重新去设置标签属性再呈现。

#6


http://www.w3school.com.cn/tiy/t.asp?f=dom_event_onmouseover


看这个

#7


引用 5 楼 duanzi_peng 的回复:
这个貌似不可以,它打开的是一个网页,源文件是html格式的,怎么能重新去设置标签属性再呈现。

能做到移进标签变色        
void Document_MouseOver(object sender, HtmlElementEventArgs e)
        {
            HtmlElement element = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
            element.Style += "background-color: red";
        }
但是变回来不会做。。
        void Document_MouseLeave(object sender, HtmlElementEventArgs e)
        {
            HtmlElement element = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
            element.Style += "background-color: blue";
        }
这样实现效果不对

#8


你是指webbrowser中加载的网页的链接吧? 
在NativeCompleted事件中
InvokeJs(function(){
           在CSS块中插入一段样式, #myBodyj a:hover {color:yellow}
           在body中插入一个div,使得全局生效,还得这样<body><div id="myBody">原内容</div></body>
})
这样可以覆盖网页本身的CSS样式

#9


引用 8 楼 dongxinxi 的回复:
你是指webbrowser中加载的网页的链接吧? 
在NativeCompleted事件中
InvokeJs(function(){
           在CSS块中插入一段样式, #myBodyj a:hover {color:yellow}
           在body中插入一个div,使得全局生效,还得这样<body><div id="myBody">原内容</div></body>
})
这样可以覆盖网页本身的CSS样式

能给个完整代码吗,我是新手最近才接触web这块

#10


有高手能给个完整的代码吗?在线等~~

#11


没有没人  顶一下

#1


用 mouse enter , mouse leave 事件呀

#2


引用 1 楼 bafzxzh 的回复:
用 mouse enter , mouse leave 事件呀

能给个详细的代码吗,我自己试过了效果不行。

#3


比如一个标签 当鼠标移动到上面时:

        private void labelControl1_MouseEnter(object sender, EventArgs e)
        {
            labelControl1.BackColor = System.Drawing.Color.Red;
        }

#4


引用 3 楼 bafzxzh 的回复:
比如一个标签 当鼠标移动到上面时:

        private void labelControl1_MouseEnter(object sender, EventArgs e)
        {
            labelControl1.BackColor = System.Drawing.Color.Red;
        }

亲,是在webbrowser中。。。

#5


这个貌似不可以,它打开的是一个网页,源文件是html格式的,怎么能重新去设置标签属性再呈现。

#6


http://www.w3school.com.cn/tiy/t.asp?f=dom_event_onmouseover


看这个

#7


引用 5 楼 duanzi_peng 的回复:
这个貌似不可以,它打开的是一个网页,源文件是html格式的,怎么能重新去设置标签属性再呈现。

能做到移进标签变色        
void Document_MouseOver(object sender, HtmlElementEventArgs e)
        {
            HtmlElement element = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
            element.Style += "background-color: red";
        }
但是变回来不会做。。
        void Document_MouseLeave(object sender, HtmlElementEventArgs e)
        {
            HtmlElement element = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition);
            element.Style += "background-color: blue";
        }
这样实现效果不对

#8


你是指webbrowser中加载的网页的链接吧? 
在NativeCompleted事件中
InvokeJs(function(){
           在CSS块中插入一段样式, #myBodyj a:hover {color:yellow}
           在body中插入一个div,使得全局生效,还得这样<body><div id="myBody">原内容</div></body>
})
这样可以覆盖网页本身的CSS样式

#9


引用 8 楼 dongxinxi 的回复:
你是指webbrowser中加载的网页的链接吧? 
在NativeCompleted事件中
InvokeJs(function(){
           在CSS块中插入一段样式, #myBodyj a:hover {color:yellow}
           在body中插入一个div,使得全局生效,还得这样<body><div id="myBody">原内容</div></body>
})
这样可以覆盖网页本身的CSS样式

能给个完整代码吗,我是新手最近才接触web这块

#10


有高手能给个完整的代码吗?在线等~~

#11


没有没人  顶一下