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

📄 main.cs

📁 PRR(个性RSS阅读器) PRR是一款全新的快捷实用的RSS阅读器
💻 CS
📖 第 1 页 / 共 4 页
字号:
                    MyTreeNode c;
                    c = (MyTreeNode)JuBuTreadAllNode;
                    if (!c.IsFolder)
                    {
                        this.Invoke(T2, null);
                        string FileUrl = RSS.FormatUrl(c.MyRssLink.Link);
                        if (FileUrl != "")
                        {
                            RSS MyRss = new RSS();
                            //while (!FREE) ;
                            MyRss.UpdateNews(c.MyRssLink.Link);
                        }
                    }
                    this.Invoke(T3, null);
                    this.Invoke(T1, null);
                }
            }
            catch (Exception e)
            {

            }
            finally
            {

            }
        }
        #endregion
        #endregion
        private void 频道ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UpdateAllNews();

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            TreadAllNode = null;
            Application.Exit();
        }

        private void 展开全部ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeViewMenu.ExpandAll();
        }

        private void 折叠全部ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeViewMenu.CollapseAll();
        }

        private void toolStripButton3_Click_2(object sender, EventArgs e)
        {
            InitWebBrowser();
        }

        private void StopUpdate_Click(object sender, EventArgs e)
        {
            if (TreadAllNode != null)
            {
                TreadAllNode.ImageIndex = 3;
            }
            if (JuBuTreadAllNode != null)
            {
                JuBuTreadAllNode.ImageIndex = 3;
            }
            //TreadAllNode = null;   
            JuBuTreadAllNode = null;
            txtOutPut.Text = "";

        }

        private void toolStripLabel1_Click(object sender, EventArgs e)
        {
            InitWebBrowser();

        }

        private void btnAddFolder_Click(object sender, EventArgs e)
        {
            try
            {
                string path;
                MyTreeNode ChildNode = new MyTreeNode(true);
                if (TreeViewMenu.SelectedNode == null)
                {
                    path = @"/config/tree";
                    if (FolderName.Text.Trim() == "")
                    {
                        MessageBox.Show("频道组不能为空");
                        return;
                    }
                    AddFolder(path, FolderName.Text.Trim());
                    ChildNode.Text = FolderName.Text.Trim();
                    ChildNode.ContextMenuStrip = contextMenuStrip1;
                    ChildNode.ImageIndex = 0;
                    TreeViewMenu.Nodes.Add(ChildNode);
                    ShowAdd();
                    toolAddFolder.Visible = false;
                }
                else
                {

                    MyTreeNode node = (MyTreeNode)TreeViewMenu.SelectedNode;
                    path = TreeViewMenu.SelectedNode.FullPath;
                    if (node.IsFolder)
                    {
                        path = GetXpath(path, "YES");
                        if (FolderName.Text.Trim() == "")
                        {
                            return;
                        }
                        if (!IsExistFolder(FolderName.Text.Trim()))
                        {
                            AddFolder(path, FolderName.Text.Trim());
                            ChildNode.Text = FolderName.Text.Trim();
                            ChildNode.ContextMenuStrip = contextMenuStrip1;
                            ChildNode.ImageIndex = 0;
                            node.Nodes.Add(ChildNode);
                            splitContainer1.Panel2Collapsed = false;
                            toolAddFolder.Visible = false;

                        }
                        else
                        {
                            MessageBox.Show("该层次上此目录已经存在,不允许在同一层次上添加相同目录");
                            return;
                        }

                        //BindNode();

                    }
                    else
                    {
                        MessageBox.Show("该处不能添加目录");
                    }

                }


            }
            catch
            {

            }
        }
        bool IsExistRssWebSite(string RssWebSite)
        {
            string Xpath = @"//channel[link='" + RssWebSite + "']";
            XmlDocument xmlPort = new XmlDocument();
            xmlPort.Load(RSS.GetMenuFileUrl());
            XmlNode node = xmlPort.SelectSingleNode(Xpath);
            if (node != null)
                return true;
            else
                return false;

        }
        private void btnAddFile_Click(object sender, EventArgs e)
        {
            try
            {

                MyTreeNode node = (MyTreeNode)TreeViewMenu.SelectedNode;
                string path = TreeViewMenu.SelectedNode.FullPath;
                if (node.IsFolder)
                {
                    RSSLink MyrssLink = GetFileName();
                    path = GetXpath(path, "YES");
                    if (MyrssLink == null)
                    {
                        return;
                    }
                    AddRssSite(path, MyrssLink.Name, MyrssLink.Link);
                    MyTreeNode ChildeNode = new MyTreeNode(false);
                    ChildeNode.MyRssLink = new RSSLink();
                    ChildeNode.MyRssLink.Name = MyrssLink.Name;
                    ChildeNode.MyRssLink.Link = MyrssLink.Link;
                    ChildeNode.ContextMenuStrip = contextMenuStrip1;
                    ChildeNode.ImageIndex = 3;
                    ChildeNode.SelectedImageIndex = 4;
                    BindNode();
                    splitContainer1.Panel2Collapsed = false;
                    toolAddFile.Visible = false;


                }
                else
                {
                    MessageBox.Show("该处不能添加站点");
                }


            }
            catch
            {
                ;
            }

        }
        RSSLink GetFileName()
        {
            RSSLink MyrssLink = null;
            try
            {
                if (FileName.Text.Trim() != "")
                {

                    if (IsExistRssWebSite(FileName.Text.Trim()))
                    {
                        MessageBox.Show("已经存在该RSS站点");
                        return MyrssLink;
                    }
                    string LinkUrl = FileName.Text.Trim();
                    XmlDocument xmlPort = new XmlDocument();
                    xmlPort.Load(LinkUrl);
                    XmlNode Node;
                    Node = xmlPort.SelectSingleNode("//channel");
                    if (Node["title"] != null)
                    {
                        MyrssLink = new RSSLink();
                        MyrssLink.Name = Node["title"].InnerText;
                        MyrssLink.Link = LinkUrl;
                        if (MyrssLink.Name.Trim() == "")
                        {
                            MyrssLink.Name = "未知名称";
                        }
                    }

                    return MyrssLink;
                }
                else
                {
                    return MyrssLink;
                }


            }
            catch
            {
                MessageBox.Show("该RSS站点不是有效站点,请重新输入如http://rss.sina.com.cn/news/marquee/ddt.xml格式的RSS站点");
                return MyrssLink;
            }

        }

        private void toolStripButton2_Click_1(object sender, EventArgs e)
        {
            splitContainer1.Panel2Collapsed = false;
            toolAddFolder.Visible = false;
        }

        private void toolStripButton1_Click_1(object sender, EventArgs e)
        {
            splitContainer1.Panel2Collapsed = false;
            toolAddFile.Visible = false;
        }

        private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
        {

        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtSearchword.Text.Trim() != "")
                {
                    List<RSSNews> NewsList = new List<RSSNews>();
                    NewsList = RSS.SearchNewsList(txtSearchword.Text.Trim());
                    DataTable dt = new DataTable();
                    dt.Columns.Add("标题(双击查看)");
                    dt.Columns.Add("发布日期");
                    dt.Columns.Add("作者");
                    dt.Columns.Add("Description");
                    dt.Columns.Add("Category");
                    dt.Columns.Add("Link");
                    foreach (RSSNews MyRssNew in NewsList)
                    {
                        DataRow row = dt.Rows.Add();
                        row["标题(双击查看)"] = MyRssNew.Title;
                        row["作者"] = MyRssNew.Author;
                        row["Category"] = MyRssNew.Category;
                        row["发布日期"] = MyRssNew.PubDate;
                        row["Description"] = MyRssNew.Description;
                        row["Link"] = MyRssNew.Link;
                    }
                    dataGridViewNewsList.DataSource = dt;
                    dataGridViewNewsList.Columns["标题(双击查看)"].Width = 400;
                    dataGridViewNewsList.Columns["发布日期"].Width = 200;
                    dataGridViewNewsList.Columns["作者"].Width = 200;
                    dataGridViewNewsList.Columns["Category"].Visible = false;
                    dataGridViewNewsList.Columns["Description"].Visible = false;
                    dataGridViewNewsList.Columns["Link"].Visible = false;
                    GetAllNews(NewsList);
                }
            }

            catch
            {
                ;
            }

        }

         


        private void Form1_Mini(object sender, System.EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Visible = false;
                this.notifyIcon1.Visible = true;
            }
        }

        private void 退出PRRToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
        {
            this.Visible = true;
            this.WindowState = FormWindowState.Maximized;
            this.Activate();
            this.notifyIcon1.Visible = false;
        }

    }


}

⌨️ 快捷键说明

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