Как удалить мерцание WebBrowser? - PullRequest
3 голосов
/ 14 июля 2011

Я использую WebBrowser Control для своего приложения чата.Каждый раз, когда он добавляет сообщение пользователя - он обновляет WebBrowser своим новым контентом.И это работает хорошо.Но после того, как я добавил фон в html-код, он начал мерцать при каждом обновлении.Вот мой метод Navigate ():

public void Navigate(string url)
{
    string text = File.ReadAllText(url);
    if (bg.Length > 0)
        webBrowser1.DocumentText = text.Replace("%bg%", "background=\"" + bg + "\"");
    else
        webBrowser1.DocumentText = text;
}

, и это мой заголовок html-файла:

addText("<html>\r\n<head>\r\n<meta charset=utf-8>\r\n</head>\r\n<body %bg% bgproperties=\"fixed\" onload=\"window.scrollTo(0,2147483647);\">\r\n<span style=\"line-height: 20px\" style=\"font-family: Arial; font-size: 14px\">\r\n<font color=black>", NewLine.No);

Каждый раз, когда пользователь добавляет сообщение, моя программа добавляет его в конец html-файла.и выполняет метод Navigate ().

У вас есть идеи по удалению мерцания?

Ответы [ 3 ]

4 голосов
/ 14 июля 2011

Вместо того, чтобы каждый раз перезагружать новый документ, установите InnerHTML существующего Document.Body.

2 голосов
/ 15 марта 2012

Добавьте следующие 2 строки в ваш тег <Head>

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">

работает нормально.

0 голосов
/ 15 июля 2011

Я добавил:

<meta http-equiv='Page-Exit' content='filter: expression(document.execCommand("BackgroundImageCache", false, true))'>

в мой HTML-код, и он не мигает.Я не знаю, как это работает (я не знаю html), просто потратил некоторое время на поиски решения.

И это странно, потому что я могу заменить: expression(document.execCommand("BackgroundImageCache", false, true)) на что-то еще, и это все ещеработы.

...