C#のプロジェクトで、WebBrowserコントロールで表示するブラウザにCSSを適応させたいです。
DocumentCompletedを用いた方法でCSSを読み込み、表示されるページに反映させることができたのですが、ページ内のボタンが反応しまくなってしましました。
IEのブラウザ上では正常に動作するのですが、WebBrowserコントロールで表示した場合だけ、動作がおかしくなります。
IEのバージョンかと思い、レジストリをいじってみたのですが、どうも違うみたいです。
デバッガ上で確認したところ、一回のページ異動で、複数回DocumentCompletedが呼ばれていました。
何か対処する方法はないのでしょうか。
C#
1 private void Form_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 2 { 3 DirectoryInfo di = new DirectoryInfo(Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "path")); 4 5 System.IO.FileInfo[] files = di.GetFiles("*.css", System.IO.SearchOption.AllDirectories); 6 7 // CSSフォルダのパスが存在する場合は実行する 8 if (System.IO.Directory.Exists(di.ToString())) 9 { 10 foreach(System.IO.FileInfo f in files) 11 { 12 Form.Document.Body.InnerHtml += "<style type='text/css'>" + System.IO.File.ReadAllText(di.ToString()+ "\"+f.ToString()) + "</style>"; 13 } 14 } 15 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。