資源簡介
實現讀取新浪新聞的RSS源,并顯示新聞內容,使用C#開發
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Windows.Forms;
using?RssReader.AppCode;
using?SinaRssNews;
namespace?RssReader
{
????public?partial?class?MainForm?:?Form
????{
????????private?SinaNewsRss?sinaNews?=?new?SinaNewsRss();
????????public?MainForm()
????????{
????????????InitializeComponent();
????????????//?set?browser
????????????webBrowser.scriptErrorsSuppressed?=?true;
????????????//?load
????????????try
????????????{
????????????????LoadNewsTree();
????????????}
????????????catch?(Exception)
????????????{
????????????????MessageBox.Show(@“初始化客戶端失敗,請重新打開!“);
????????????????Application.Exit();
????????????}
????????}
????????private?void?webBrowser_ProgressChanged(object?sender?WebBrowserProgressChangedEventArgs?e)
????????{
????????????progressBarWebPage.Visible?=?true;
????????????if?((e.CurrentProgress?>?0)?&&?(e.MaximumProgress?>?0))
????????????{
????????????????progressBarWebPage.Maximum?=?Convert.ToInt32(e.MaximumProgress);
????????????????progressBarWebPage.Step?=?Convert.ToInt32(e.CurrentProgress);
????????????????progressBarWebPage.PerformStep();
????????????}
????????????else?if?(webBrowser.ReadyState?==?WebBrowserReadyState.Complete)
????????????{
????????????????progressBarWebPage.Value?=?0;
????????????????progressBarWebPage.Visible?=?false;
????????????}
????????}
????????private?void?treeNews_AfterSelect(object?sender?TreeViewEventArgs?e)
????????{
????????????if?(treeNews.SelectedNode.Tag?!=?null)
????????????{
????????????????LoadNewsItems(treeNews.SelectedNode.Tag.ToString());
????????????}
????????}
????????private?void?LoadNewsTree()
????????{
????????????//?clear?first
????????????treeNews.Nodes.Clear();
????????????treeNews.Nodes.AddRange(sinaNews.sinaNewsTree.ToArray());
????????}
????????private?void?tableNewsItems_Selectionchanged(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????LoadNews(tableNewsItems.CurrentRow.Cells[“Url“].Value.ToString());
????????????}
????????????catch?(Exception)
????????????{
????????????????MessageBox.Show(@“網絡繁忙,請重試!“);
????????????}
????????}
????????private?void?LoadNewsItems(string?url)
????????{
????????????IList?newsItems;
????????????try
????????????{
????????????????newsItems?=?sinaNews.GetNewsItems(url);
????????????????tableNewsItems.Rows.Clear();
????????????????if?(newsItems.Count?==?0)
????????????????{
????????????????????MessageBox.Show(@“目前沒有新聞,請刷新試試“);
????????????????????return;
????????????????}
????????????????foreach?(NewsItem?newsItem?in?newsItems)
????????????????{
????????????????????DataGridViewRow?row?=?new?DataGridViewRow();
????????????????????row.CreateCells(tableNewsItems?newsItem.title?newsItem.Description?newsItem.link);
????????????????????tableNewsItems.Rows.Add(row);
????????????????}
????????????}
????????????catch?(Exception)
????????????{
?????
- 上一篇:Freeman鏈碼計算圖像矩 C#
- 下一篇:C# socket聊天 服務器轉發
評論
共有 條評論