C # WebBrowser не показывает контент - PullRequest
1 голос
/ 17 ноября 2011

Я использую WebBrowser, и когда я пытаюсь вызвать .Navigate(some_local_html), в моем браузере ничего не отображается. Если я тогда использую MessageBox.Show(), то, пока отображается сообщение, я вижу свой HTML в браузере. Но когда я закрываю MessageBox, html снова пропадает.

Я пробовал Try-catch, но ошибок не было.

Я пытался установить URL-адрес по умолчанию для webBrowser элемента управления, но результата тоже нет. Я ничего не вижу.

ПОСТАНОВИЛИ:

Это была не сама нить, а какая-то нить. Я добавил следующий код:

Stream stream = null;
webBrowser1.DocumentStream = stream;

и забыл удалить его ... Это причина. Спасибо всем!

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Было бы полезно узнать, куда вы вызываете свои функции навигации и MessageBox.Я быстро создал тест, чтобы увидеть, смогу ли я получить аналогичный результат, но приведенный ниже код работал точно так, как ожидалось.

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        this.webBrowser1.Navigate("http://www.google.com");
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Some Text");
    }
}
1 голос
/ 17 ноября 2011

Не уверен, поможет ли это вообще, но звучит так, как будто что-то перерисовывается на заднем плане, например, когда вы кладете окно сообщений вверх, я уверен, что оно спит в потоке, поэтому больше ничего не может произойти, пока он не будет обработан, так что перезаписывает, он будет временно остановлен.

Если в этом потоке что-то часто обновляется или перерисовывается, что может вызвать проблемы, попробуйте добавить в форму кнопку, которая выполняет thread.sleep (1000), чтобы проверить, правильно ли он отображает ваш браузер на секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...