2016-02-02 3 views
1

У меня есть элемент управления веб-браузер, который по какой-то причине не загружается мой HTML:C# управления WebBrowser не отображает пользовательский HTML

string updatingChatHTML = "" 
     + "<HTML> " 
     + "<head>" 
     + "<style>" 
     + "body {" 
     + " margin: 0px;" 
     + " padding: 0px;" 
     + " background: " + chatBackground + ";\n" 
     + " Font-Family: Arial;" 
     + " font-size: 11px; " 
     + " text-align: left;" 
     + "}" 
     + "</style>" 
     + "</head>" 
     + "<body>"; 
txtChat.DocumentText = updatingChatHTML + "</body></HTML>"; 

(txtChat моя WebBrowser Control).

Странно, это работало до того, как я что-то изменил, но я не могу понять, что я изменил, что заставило его перестать работать.

У меня есть точка останова, установленная сразу после последней строки выше, и я вижу, что updateChatHTML имеет правильное значение, на которое это предназначено, но txtChat.DocumentText все еще имеет значение <HTML></HTML>\0.

Я думал, что это была инициализация, поэтому я добавил txtChat.Navigate("about:blank"); перед любым заданием, но он все еще не работает.

Это событие действительно уволено довольно часто, и в первый раз/два раза оно не работает, но после того, как форма закончила загрузку, похоже, но это уже последнее, что происходит на моей Form_Load.

Любые предложения?

ответ

1

Попытки установить DocumentText свойства при

  • документа не загружен
  • или управление браузером не в состоянии готовности (например, в настоящее время загрузки документа)

заставит присвоение свойства терпеть неудачу тихо.

После вызова функции Navigate вы должны отслеживать событие DocumentCompleted для уведомления о завершении операции навигации.

+0

Спасибо, я надеялся, что это не так, но это было так. У меня уже было много кода в моем событии «DocumentCompleted», и я не хотел его обрабатывать, поэтому я по существу добавил в чек, если путь был «пустым» (что, кстати, показывает, когда вы переходите к ' about: blank') и затем запустить приведенный выше код, стилизовать страницу. Примите ваш ответ, когда сможешь, через несколько минут. –

+0

Рад, что это помогло. –

Смежные вопросы