【发布时间】:2013-12-04 22:56:42
【问题描述】:
我正在做一个 Rss Feed Reader 程序,我想以 html 格式显示文章描述。我搜索了一些文章和有关它的问题,我找到了扩展的richTextbox 和类似的东西,但我不喜欢它们。(因为它太复杂了,我只是想显示值)所以我决定在 webbrowser 中显示内容。我将所有文章描述 html 代码保存到单独的 html 文件中,然后当我想在 webbrowser 中显示内容时,我收到文件路径并将其设置为Webbrowser.Url
这是我的代码:
var articles = user.RssFeeds.Where(r => r.Id == rssFeedId).Select(p => p.Articles).First();
var filePath = (from a in articles
where a.Title == articleName
select a.FilePath).First();
webBrowser1.Url = new Uri(filePath);
我的问题是在设置 Webbrowser.Url 时它需要太多时间,我的窗口冻结 5-10 秒。当它发生时我试试这个:
var task = Task.Factory.StartNew(() => webBrowser1.Url = new Uri(filePath));
但它不起作用,因为它仍然在同一个线程上工作,我尝试了其他愚蠢的方法,但它们也没有工作。当我单击树视图中的第一个文章节点时会发生此问题,之后所有文章都显示而不冻结。
所以我等待你的回答和建议。抱歉我的英语不好。
【问题讨论】:
标签: c# winforms asynchronous webbrowser-control