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

webBrowserコントロールで

環境/言語:[VS2008 C#]
分類:[.NET]

インターネットオプションのスタイルシートの設定じゃ無く
プログラムからCSSを指定し
Form上のwebBrowserコントロールに適用することは可能でしょうか?

初心者です、宜しくお願いします。
  • 題名: Re[1]: webBrowserコントロールで
  • 著者: H.K.R.
  • 日時: 2008/04/26 3:08:53
  • ID: 21937
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
H.K.R.と申します。
 
苦し紛れの方法ではありますが、
とりあえず以下の方法で試してみてはいかがでしょうか?
# コードがVBですがご了承下さい。m(_ _)m
 
 ' Form上にWebBrowser1が配置されていることを前提とする。
  Private Sub testA()
   Dim ss As String = "http://dobon.net/cgi-bin/vbbbs/cbbs.cgi"
   Me.WebBrowser1.Url = New Uri(ss)
  End Sub

  Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
   Dim cssfilename As String = Application.StartupPath + "\testc.css"
   Dim css As String = "<style type='text/css'>" + File.ReadAllText(cssfilename) + "</style>"
   Me.WebBrowser1.Document.Body.InnerHtml += css
  
   ' ↓この方法もあり
   'Dim ss As String = "font-family:HG創英角ポップ体;font-size:24px;font-weight:bold;" + _
   "font-style:italic;color:blue;background-color:brown;border:1cm groove orange ;scrollbar-base-color:green;scrollbar-face-color:moccasin;scrollbar-arrow-color:blue;"
   'Me.WebBrowser1.Document.Body.Style = ss
 
   ' おまけ(TextBoxを追加)
   Dim he As HtmlElement = Me.WebBrowser1.Document.CreateElement("input")
   he.SetAttribute("type", "text")
   he.SetAttribute("value", "VBで追加したTextBox")
   he.SetAttribute("size", "40")
   Me.WebBrowser1.Document.Body.AppendChild(he)
  End Sub
 
<testC.cssの内容>
  body
  {
 
  font-family:HG創英角ポップ体;font-size:24px;font-weight:bold;
  font-style:italic;color:blue;
  background-color:brown;
  border:1cm ridge wheat ;scrollbar-base-color:green;
  scrollbar-face-color:moccasin;scrollbar-arrow-color:blue;
 
  }
 
  a:link{ color:darkgreen;text-decoration:underline;}
  a:visited{ color:gold;text-decoration:overline;}
  a:focus{ color:black;}
  a:hover{ color:red;font-style:italic;font-weight:bold;}
  a:active{ color:red;text-decoration:line-through;}

以上です。

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