DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Webbrowserで表示されたページのリンク文字色を変更したい

環境/言語:[VB.NET2005、.NetFramework2.0]
分類:[.NET]

VB.NET2005でWebbrowserを使ったアプリを作成しています。

タイトルのとおり、Webbrowserに表示させたページのリンクの色を変更したいのですが、やり方がわかりません。
Webで検索してみたのですが、文字を大きくするというのは見つけましたが色を変更するというのが見つかりませんでした。

Webbrowser1.ActiveXInstance.ExecWBの第一引数でSHDocVw.OLECMDID.OLECMDID_・・・
の一覧をみても、それらしいものがわかりませんでした。

ExcecWBで可能なのか、それとも違う方法があるのか教えてください。
ABCさん,こんにちは。

DocumentCompletedイベント発生後にDocument.LinkColorを設定します。
ただ,CSSなどの指定が優先するようですので,この方法ではどのページでも
リンクの色が変えられる訳ではありません。

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim Browser As WebBrowser = DirectCast(sender, WebBrowser)
        Browser.Document.LinkColor = Color.Red
    End Sub
さらにCSSを無視して,Linkの色を強制的に変えるなら次のようになるかと思います。(これでYahoo!などを表示すると真っ赤っかになります。)

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim Browser As WebBrowser = DirectCast(sender, WebBrowser)
        Dim Elements As HtmlElementCollection = Browser.Document.GetElementsByTagName("a")
        For Each Element As HtmlElement In Elements
            Element.Style = Element.Style & "color : red;"
        Next
    End Sub
YASさん
ありがとうございます。

CSSに悩まされていたので、とても助かりました。
強制的に書き換える方でうまくいきました。

また、何かありましたら宜しくお願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板