Изменение цвета фона элемента управления веб-браузера, используя код C #, не работает в Windows 10 - PullRequest
0 голосов
/ 30 апреля 2019

Прикрепленный к теме следующий код c # для изменения цвета фона элемента управления веб-браузера работает в Windows 7, но не работает в Windows 10!

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.BackColor = Color.Black;
}

Есть предложения?

1 Ответ

0 голосов
/ 02 мая 2019

Вы меняете цвет свойства элемента управления браузера.Если вы хотите изменить цвет фона внутри элемента управления браузера, вы можете сделать это с помощью HTML.Вы можете сделать это в форме загрузки

private void Form1_Load(object sender, EventArgs e)
{
 webBrowser1.DocumentText ="<html><body style='background-color: blue;'></body></html>";
}

Обновленный ответ: Все веб-страницы сделаны HTML.Так что вы можете изменить стиль, используя элемент HTML.У Google есть какой-то сложный HTML.Итак, я сделал трюк и добился изменения цвета фона.

private void Form2_Load(object sender, EventArgs e)
{
 webBrowser1.Navigate("www.google.com");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  HtmlElement htmlElement = (from HtmlElement element in webBrowser1.Document.GetElementsByTagName("div") select element)
               .Where(x=>x.Id != null && string.Compare(x.Id, "viewport", true)==0) .FirstOrDefault();
 if (htmlElement != null)
 {
  htmlElement.OuterHtml = htmlElement.OuterHtml.Replace("id=\"viewport\"", "id=\"viewport\" style=\"background-color:blue;\"");                
 }
}
...