⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.cs

📁 用C#+SQLCE开发的RSS读取工具
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Data.SqlServerCe;

namespace MobileReader
{
    public partial class MainForm : Form
    {
        private MobileReaderResultSets.FeedResultSet feedRs;

        public MainForm()
        {
            InitializeComponent();
        }

        private void LoadFeedList()
        {
            feedRs = new MobileReader.MobileReaderResultSets.FeedResultSet();

            FeedListView.Items.Clear();

            while (feedRs.Read())
            {
                SqlCeConnection connection = new SqlCeConnection(feedRs.Connection.ConnectionString);
                connection.Open();
                SqlCeCommand command = connection.CreateCommand();
                command.CommandText = "SELECT COUNT(*) FROM Item WHERE FeedID = @feedID";
                command.CommandType = CommandType.Text;
                command.Parameters.Add("@feedID", feedRs.FeedID);
                int count = (int)command.ExecuteScalar();
                connection.Close();

                ListViewItem item = new ListViewItem(new string[] { feedRs.Title, count.ToString() });
                FeedListView.Items.Add(item);
            }
        }

        private void ExitMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            FeedListView.Columns[0].Width = FeedListView.ClientSize.Width - FeedListView.Columns[1].Width;
            LoadFeedList();
        }

        private void SubscribeMenuItem_Click(object sender, EventArgs e)
        {
            SubscribeForm subscribeForm = new SubscribeForm();
            DialogResult dr = subscribeForm.ShowDialog();
            if (dr == DialogResult.OK)
                LoadFeedList();
        }

        private void UpdateAllMenuItem_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;

            feedRs = new MobileReader.MobileReaderResultSets.FeedResultSet();
            while (feedRs.Read())
            {
                HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(feedRs.Url);
                HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

                using (Stream rssStream = httpWebResponse.GetResponseStream())
                {
                    DataSet ds = new DataSet();
                    ds.ReadXml(rssStream);
                    MobileReaderResultSets.ItemResultSet itemRs = new MobileReaderResultSets.ItemResultSet();
                    foreach (DataRow row in ds.Tables["item"].Rows)
                        itemRs.AddItemRecord(Guid.NewGuid(), feedRs.FeedID, row["Title"].ToString(), row["Description"].ToString(), row["Link"].ToString());
                }
            }

            LoadFeedList();

            Cursor.Current = Cursors.Default;
        }

        private void ViewMenuItem_Click(object sender, EventArgs e)
        {
            if (FeedListView.SelectedIndices.Count == 1)
            {
                feedRs.MoveToRow(FeedListView.SelectedIndices[0]);
                ItemListForm itemListForm = new ItemListForm(feedRs);
                itemListForm.Show();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -