bool hasNextPage; //每一章是否分页 /// <summary> /// 获取章节内容 /// </summary> private void GetContent(bool forceRefresh = false) { //章节页地址 page = textBox_page.Text.Trim(); //非空判断 if (string.IsNullOrEmpty(page)) { return; } //不是强制刷新,如果本地有文件,则读取 if (!forceRefresh) { List <Chapter> tmpList = chapters.Where(c => c.site == page).ToList(); if (tmpList.Count > 0) //寻找一样的章节,根据网址寻找 { string chapter1 = tmpList[0].chapter; string path = Application.StartupPath + "\\SavedNovels\\" + novelName + "\\" + chapter1 + ".novel"; if (File.Exists(path)) //读取本地内容 { label_book.Text = "《" + novelName + "》 " + chapter1; richTextBox1.Focus(); richTextBox1.SelectionStart = 0; //将当期页的信息存入数据库 Chapter chapter = new Chapter(novelName, chapter1, page); UpdateData(chapter); int index = chapters.IndexOf(tmpList[0]); if (index < chapters.Count - 1) //下一章地址 { next_page = chapters[index + 1].site; } if (index > 0) //上一章地址 { preview_page = chapters[index - 1].site; } byte[] bytes = File.ReadAllBytes(path); string text = Compress.DecompressString(bytes); if (text != null) { richTextBox1.Text = text; } else //解压失败,有可能是未压缩,也有可能是数据损坏 { richTextBox1.Text = Encoding.UTF8.GetString(bytes); } return; } } } richTextBox1.Text = ""; label_book.Text = "获取中……"; textBox_page.Enabled = false; button1.Enabled = false; button_next.Enabled = false; button_pre.Enabled = false; string url = GetContentPage(page); //章节页面地址 tools.GetHtmlByThread(url, GetContentCode); }