先來展示下做到了什麼?
首先要導入一個文件夾下的所有文件,要不你怎麼操作呢?或者,如果本地有xml文檔,可以加載xml文檔內容。
圖片上的描述已經夠看了,我就不費事在這裡多寫些什麼了。
我又仔細的看了一下,貌似也不需要語言上解釋什麼了,唉,那就這樣吧。
================================================================================================
昨天花了三四個小時做的,今天又簡單的修改了一下,希望會有人喜歡。
XMLHelper 和 TextHelper 幾乎可以說是萬能通用工具。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Xml; 6 7 namespace 文章操作工具 8 { 9 public class XMLHelper 10 { 11 public static void SerializeToXml<T>(string filePath, T obj) 12 { 13 using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath)) 14 { 15 System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(T)); 16 xs.Serialize(writer, obj); 17 } 18 } 19 20 public static T DeserializeFromXml<T>(string filePath) 21 { 22 if (!System.IO.File.Exists(filePath)) 23 throw new ArgumentNullException(filePath + " not Exists"); 24 25 using (System.IO.StreamReader reader = new System.IO.StreamReader(filePath)) 26 { 27 System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(T)); 28 return (T)xs.Deserialize(reader); 29 } 30 31 } 32 } 33 }XMLHelper
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace 文章操作工具 8 { 9 public class TextHelper 10 { 11 public static System.Text.Encoding GetType(string filename) 12 { 13 FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); 14 System.Text.Encoding r = GetType(fs); 15 fs.Close(); 16 return r; 17 } 18 19 public static System.Text.Encoding GetType(FileStream fs) 20 { 21 /* 22 Unicode 23 ------------------ 24 255 254 25 26 ====================== 27 UnicodeBigEndian 28 ------------------- 29 254 255 30 31 ====================== 32 UTF8 33 ------------------- 34 34 228 35 34 229 36 34 230 37 34 231 38 34 232 39 34 233 40 239 187 41 42 ====================== 43 ANSI 44 ------------------- 45 34 176 46 34 177 47 34 179 48 34 180 49 34 182 50 34 185 51 34 191 52 34 194 53 34 196 54 34 198 55 34 201 56 34 202 57 34 205 58 34 206 59 34 208 60 34 209 61 34 210 62 34 211 63 34 213 64 196 167 65 202 213 66 206 228 67 */ 68 BinaryReader r = new BinaryReader(fs, System.Text.Encoding.Default); 69 byte[] ss = r.ReadBytes(3); 70 int lef = ss[0]; 71 int mid = ss[1]; 72 int rig = ss[2]; 73 r.Close(); 74 /* 文件頭兩個字節是255 254,為Unicode編碼; 75 文件頭三個字節 254 255 0,為UTF-16BE編碼; 76 文件頭三個字節 239 187 191,為UTF-8編碼;*/ 77 if (lef == 255 && mid == 254) 78 { 79 return Encoding.Unicode; 80 } 81 else if (lef == 254 && mid == 255 && rig == 0) 82 { 83 return Encoding.BigEndianUnicode; 84 } 85 else if (lef == 254 && mid == 255) 86 { 87 return Encoding.BigEndianUnicode; 88 } 89 else if (lef == 239 && mid == 187 && rig == 191) 90 { 91 return Encoding.UTF8; 92 } 93 else if (lef == 239 && mid == 187) 94 { 95 return Encoding.UTF8; 96 } 97 else if (lef == 196 && mid == 167 98 || lef == 206 && mid == 228 99 || lef == 202 && mid == 213) 100 { 101 return Encoding.Default; 102 } 103 else 104 { 105 if (lef == 34) 106 { 107 if (mid < 220) return Encoding.Default; 108 else return Encoding.UTF8; 109 } 110 else 111 { 112 if (lef < 220) return Encoding.Default; 113 else return Encoding.UTF8; 114 } 115 } 116 } 117 } 118 }TextHelper
================================================================================================
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Xml.Serialization; 7 8 namespace 文章操作工具 9 { 10 public class BookInfo 11 { 12 [XmlAttributeAttribute] 13 public long length { set; get; } 14 15 [XmlAttributeAttribute] 16 public string bookname { set; get; } 17 18 //[XmlAttributeAttribute] 19 //public string author { set; get; } 20 21 [XmlAttributeAttribute] 22 public string path { set; get; } 23 24 [XmlAttributeAttribute] 25 public string type { set; get; } 26 public string fullname { get { return path + "/" + bookname; } } 27 } 28 }BookInfo
================================================================================================
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Text.RegularExpressions; 10 using System.Threading.Tasks; 11 using System.Windows.Forms; 12 13 namespace 文章操作工具 14 { 15 public partial class frmMain : Form 16 { 17 private List<BookInfo> booklist = new List<BookInfo>(1000); 18 private List<BookInfo> bindlist = new List<BookInfo>(1000); 19 private readonly string xmlName = "BookInfo.XML"; 20 public frmMain() 21 { 22 InitializeComponent(); 23 24 this.dataGridView1.AutoGenerateColumns = false; 25 this.bookname.DataPropertyName = "bookname"; 26 this.path.DataPropertyName = "path"; 27 this.length.DataPropertyName = "length"; 28 this.author.DataPropertyName = "author"; 29 this.type.DataPropertyName = "type"; 30 31 this.txtPageSize.Text = this.pagesize.ToString(); 32 } 33 34 private void btn_Input_Info_Click(object sender, EventArgs e) 35 { 36 ConsoleWriteLine("導入信息 : " + tex_Path.Text + Environment.NewLine, Color.Green); 37 if (Directory.Exists(tex_Path.Text)) 38 { 39 AllButtonEnable(this, false); 40 BackgroundWorker b = new BackgroundWorker(); 41 b.DoWork += (s, ea) => 42 { 43 Cycle(tex_Path.Text); 44 }; 45 b.RunWorkerCompleted += (s, ea) => 46 { 47 AllButtonEnable(this, true); 48 }; 49 b.RunWorkerAsync(); 50 } 51 } 52 53 private void AllButtonEnable(Control pctl, bool enable) { 54 55 tex_Path.Enabled = enable; 56 AllButtonEnable2(pctl, enable); 57 } 58 59 private void AllButtonEnable2(Control pctl, bool enable) 60 { 61 if (pctl is ButtonBase) 62 { 63 pctl.Enabled = enable; 64 } 65 else 66 { 67 foreach (Control ctl in pctl.Controls) 68 { 69 AllButtonEnable2(ctl, enable); 70 } 71 } 72 } 73 74 private void tex_Path_Click(object sender, EventArgs e) 75 { 76 FolderBrowserDialog g = new FolderBrowserDialog(); 77 g.SelectedPath = Directory.GetDirectoryRoot(AppDomain.CurrentDomain.BaseDirectory); 78 g.ShowNewFolderButton = false; 79 if (g.ShowDialog() == System.Windows.Forms.DialogResult.OK) 80 { 81 if (g.SelectedPath != null && Directory.Exists(g.SelectedPath)) 82 { 83 tex_Path.Text = g.SelectedPath; 84 } 85 } 86 } 87 88 private bool Cycle(string path) 89 { 90 int fileCount = 0; 91 int folderCount = 0; 92 93 if (path == null || path == "") 94 { 95 return false; 96 } 97 98 string[] files = null; 99 try 100 { 101 files = Directory.GetFiles(path); 102 } 103 catch (Exception ex) 104 { 105 ConsoleWriteLine("Directory.GetFiles(" + path + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 106 } 107 108 if (files != null && (fileCount = files.Length) > 0) 109 { 110 foreach (string file in files) 111 { 112 try 113 { 114 FileInfo fi = new FileInfo(file); 115 if (fi.Length == 0) 116 { 117 ConsoleWriteLine("delete 0 size file : " + fi.FullName + Environment.NewLine); 118 fi.Attributes = fi.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden); 119 fi.Delete(); 120 fileCount--; 121 } 122 else 123 { 124 BookInfo info = new BookInfo 125 { 126 bookname = fi.Name, 127 path = fi.DirectoryName, 128 length = fi.Length, 129 type = fi.Extension 130 }; 131 this.booklist.Add(info); 132 } 133 } 134 catch (Exception ex) 135 { 136 ConsoleWriteLine("FileInfo.Delete(" + file + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 137 } 138 } 139 } 140 141 string[] folders = null; 142 try 143 { 144 folders = Directory.GetDirectories(path); 145 } 146 catch (Exception ex) 147 { 148 ConsoleWriteLine("Directory.GetDirectories(" + path + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 149 } 150 151 if (folders != null && (folderCount = folders.Length) > 0) 152 { 153 foreach (string folder in folders) 154 { 155 if (Cycle(folder)) 156 { 157 try 158 { 159 DirectoryInfo di = new DirectoryInfo(folder); 160 ConsoleWriteLine("delete Empty path " + di.FullName + Environment.NewLine); 161 di.Attributes = di.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden); 162 di.Delete(); 163 folderCount--; 164 } 165 catch (Exception ex) 166 { 167 ConsoleWriteLine("DirectoryInfo.Delete(" + path + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 168 } 169 } 170 } 171 } 172 173 //ConsoleWriteLine("搜索 " + path + " 完畢" + Environment.NewLine); 174 return (folderCount <= 0 && fileCount <= 0); 175 } 176 177 private void ConsoleWriteLine(string msg) 178 { 179 if (!rtx_show.InvokeRequired) 180 { 181 rtx_show.AppendText(msg); 182 rtx_show.ScrollToCaret(); 183 } 184 else 185 { 186 rtx_show.Invoke(new MethodInvoker(delegate { ConsoleWriteLine(msg); })); 187 } 188 } 189 190 private void ConsoleWriteLine(string msg, Color cc) 191 { 192 if (!rtx_show.InvokeRequired) 193 { 194 var v = rtx_show.ForeColor; 195 rtx_show.ForeColor = cc; 196 rtx_show.AppendText(msg); 197 rtx_show.ForeColor = v; 198 rtx_show.ScrollToCaret(); 199 } 200 else 201 { 202 rtx_show.Invoke(new MethodInvoker(delegate { ConsoleWriteLine(msg, cc); })); 203 } 204 } 205 206 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 207 { 208 DataGridView dgv = (DataGridView)sender; 209 210 if (dgv.Columns[e.ColumnIndex].Name == "delete") 211 { 212 try 213 { 214 if (MessageBox.Show("確認要刪除嗎?", "警告", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK) 215 { 216 BookInfo info = (BookInfo)dgv.Rows[e.RowIndex].DataBoundItem; 217 string fullname = info.fullname; 218 this.booklist.Remove(info); 219 this.bindlist.Remove(info); 220 bindData(); 221 FileInfo fi = new FileInfo(fullname); 222 fi.Attributes = fi.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden); 223 fi.Delete(); 224 ConsoleWriteLine("delete file : " + fullname + Environment.NewLine, Color.Green); 225 } 226 } 227 catch (Exception ex) 228 { 229 ConsoleWriteLine("FileInfo.Delete(" + bookname + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 230 } 231 } 232 233 if (dgv.Columns[e.ColumnIndex].Name == "load") 234 { 235 try 236 { 237 BookInfo info = (BookInfo)dgv.Rows[e.RowIndex].DataBoundItem; 238 string fullname = info.fullname; 239 if (isLeft) 240 { 241 textBox1.Text = File.ReadAllText(fullname, TextHelper.GetType(fullname)); 242 } 243 else 244 { 245 textBox2.Text = File.ReadAllText(fullname, TextHelper.GetType(fullname)); 246 } 247 isLeft = !isLeft; 248 ConsoleWriteLine("load file : " + fullname + Environment.NewLine, Color.Green); 249 } 250 catch (Exception ex) 251 { 252 ConsoleWriteLine("FileInfo.Delete(" + bookname + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 253 } 254 } 255 } 256 257 private bool isLeft = true; 258 259 private void btnSearch_Click(object sender, EventArgs e) 260 { 261 AllButtonEnable(this, false); 262 string bookname = txtName.Text; 263 ConsoleWriteLine("search file : " + bookname + Environment.NewLine, Color.Green); 264 try 265 { 266 if (!string.IsNullOrEmpty(bookname)) 267 { 268 this.bindlist = this.booklist.FindAll((i) => { return i.bookname.Contains(bookname); }); 269 } 270 else 271 { 272 this.bindlist = this.booklist; 273 } 274 275 this.curpage = 1; 276 bindData(); 277 } 278 catch (Exception ex) 279 { 280 ConsoleWriteLine("Search(" + bookname + ") Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 281 } 282 finally 283 { 284 AllButtonEnable(this, true); 285 } 286 } 287 288 private void btn_sort_length_Click(object sender, EventArgs e) 289 { 290 AllButtonEnable(this, false); 291 ConsoleWriteLine("文件大小排序" + Environment.NewLine, Color.Green); 292 this.bindlist.Sort((a, b) => 293 { 294 return (int)(a.length - b.length); 295 }); 296 AllButtonEnable(this, true); 297 this.curpage = 1; 298 bindData(); 299 } 300 301 private void btn_name_like_Click(object sender, EventArgs e) 302 { 303 AllButtonEnable(this, false); 304 ConsoleWriteLine("書名相似度排序" + Environment.NewLine, Color.Green); 305 this.bindlist.Sort((a, b) => 306 { 307 string aname = a.bookname; 308 string bname = b.bookname; 309 int same = 0; 310 for (int i = 0; i < aname.Length; i++) 311 { 312 if (bname.Contains(aname[i])) 313 { 314 same++; 315 } 316 } 317 return (int)((same * same) / (aname.Length * bname.Length)); 318 }); 319 AllButtonEnable(this, true); 320 this.curpage = 1; 321 bindData(); 322 } 323 324 private void btn_name_Click(object sender, EventArgs e) 325 { 326 AllButtonEnable(this, false); 327 ConsoleWriteLine("書名排序" + Environment.NewLine, Color.Green); 328 this.bindlist.Sort((a, b) => 329 { 330 return string.CompareOrdinal(a.bookname, b.bookname); 331 }); 332 AllButtonEnable(this, true); 333 this.curpage = 1; 334 bindData(); 335 } 336 337 private void splitContainer1_SizeChanged(object sender, EventArgs e) 338 { 339 340 } 341 342 private void btn_loadFromXML_Click(object sender, EventArgs e) 343 { 344 try 345 { 346 AllButtonEnable(this, false); 347 this.booklist = XMLHelper.DeserializeFromXml<List<BookInfo>>(xmlName); 348 } 349 catch (Exception ex) 350 { 351 ConsoleWriteLine("load xml Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 352 } 353 finally 354 { 355 AllButtonEnable(this, true); 356 } 357 } 358 359 private void frmMain_FormClosing(object sender, FormClosingEventArgs e) 360 { 361 try 362 { 363 XMLHelper.SerializeToXml<List<BookInfo>>(xmlName, this.booklist); 364 } 365 catch (Exception ex) 366 { 367 ConsoleWriteLine("save xml Exception : " + ex.StackTrace + Environment.NewLine, Color.Red); 368 } 369 } 370 371 private int curpage = 1; 372 private int pagesize = 50; 373 private int datatotal = 0; 374 375 private void bindData() 376 { 377 datatotal = this.bindlist.Count; 378 int index = (curpage - 1) * pagesize; 379 this.lpage.Text = curpage + "/" + (datatotal / pagesize + (datatotal % pagesize == 0 ? 0 : 1)); 380 dataGridView1.DataSource = this.bindlist.GetRange(index, Math.Min(pagesize, datatotal - index)); 381 dataGridView1.Refresh(); 382 } 383 384 private void btnNext_Click(object sender, EventArgs e) 385 { 386 if (curpage < (datatotal / pagesize + (datatotal % pagesize == 0 ? 0 : 1))) 387 { 388 curpage++; 389 bindData(); 390 } 391 } 392 393 private void btnPre_Click(object sender, EventArgs e) 394 { 395 if (curpage > 1) 396 { 397 curpage--; 398 bindData(); 399 } 400 } 401 402 private void btnSetPageSize_Click(object sender, EventArgs e) 403 { 404 405 Regex reg = new Regex("\\d+"); 406 if (reg.IsMatch(this.txtPageSize.Text.Trim())) 407 { 408 int size = 0; 409 if (int.TryParse(this.txtPageSize.Text.Trim(), out size)) 410 { 411 if (size <= 0) 412 { 413 this.pagesize = 1; 414 } 415 else 416 { 417 this.pagesize = size; 418 } 419 } 420 else 421 { 422 this.pagesize = int.MaxValue; 423 } 424 425 this.txtPageSize.Text = this.pagesize.ToString(); 426 } 427 } 428 } 429 }frmMain
設計器自動生成,frmMain的設計器文件
1 namespace 文章操作工具 2 { 3 partial class frmMain 4 { 5 /// <summary> 6 /// Required designer variable. 7 /// </summary> 8 private System.ComponentModel.IContainer components = null; 9 10 /// <summary> 11 /// Clean up any resources being used. 12 /// </summary> 13 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 14 protected override void Dispose(bool disposing) 15 { 16 if (disposing && (components != null)) 17 { 18 components.Dispose(); 19 } 20 base.Dispose(disposing); 21 } 22 23 #region Windows Form Designer generated code 24 25 /// <summary> 26 /// Required method for Designer support - do not modify 27 /// the contents of this method with the code editor. 28 /// </summary> 29 private void InitializeComponent() 30 { 31 this.tabControl1 = new System.Windows.Forms.TabControl(); 32 this.tabPage1 = new System.Windows.Forms.TabPage(); 33 this.btnSetPageSize = new System.Windows.Forms.Button(); 34 this.txtPageSize = new System.Windows.Forms.TextBox(); 35 this.btn_loadFromXML = new System.Windows.Forms.Button(); 36 this.tex_Path = new System.Windows.Forms.TextBox(); 37 this.btn_Input_Info = new System.Windows.Forms.Button(); 38 this.tabPage2 = new System.Windows.Forms.TabPage(); 39 this.lpage = new System.Windows.Forms.Label(); 40 this.btnNext = new System.Windows.Forms.Button(); 41 this.btnPre = new System.Windows.Forms.Button(); 42 this.btn_name = new System.Windows.Forms.Button(); 43 this.splitContainer1 = new System.Windows.Forms.SplitContainer(); 44 this.textBox1 = new System.Windows.Forms.TextBox(); 45 this.textBox2 = new System.Windows.Forms.TextBox(); 46 this.btnSearch = new System.Windows.Forms.Button(); 47 this.btn_name_like = new System.Windows.Forms.Button(); 48 this.btn_sort_length = new System.Windows.Forms.Button(); 49 this.txtName = new System.Windows.Forms.TextBox(); 50 this.dataGridView1 = new System.Windows.Forms.DataGridView(); 51 this.delete = new System.Windows.Forms.DataGridViewButtonColumn(); 52 this.load = new System.Windows.Forms.DataGridViewButtonColumn(); 53 this.bookname = new System.Windows.Forms.DataGridViewTextBoxColumn(); 54 this.author = new System.Windows.Forms.DataGridViewTextBoxColumn(); 55 this.path = new System.Windows.Forms.DataGridViewTextBoxColumn(); 56 this.length = new System.Windows.Forms.DataGridViewTextBoxColumn(); 57 this.type = new System.Windows.Forms.DataGridViewTextBoxColumn(); 58 this.tabPage3 = new System.Windows.Forms.TabPage(); 59 this.rtx_show = new System.Windows.Forms.RichTextBox(); 60 this.tabControl1.SuspendLayout(); 61 this.tabPage1.SuspendLayout(); 62 this.tabPage2.SuspendLayout(); 63 ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); 64 this.splitContainer1.Panel1.SuspendLayout(); 65 this.splitContainer1.Panel2.SuspendLayout(); 66 this.splitContainer1.SuspendLayout(); 67 ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); 68 this.SuspendLayout(); 69 // 70 // tabControl1 71 // 72 this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 73 | System.Windows.Forms.AnchorStyles.Left) 74 | System.Windows.Forms.AnchorStyles.Right))); 75 this.tabControl1.Controls.Add(this.tabPage1); 76 this.tabControl1.Controls.Add(this.tabPage2); 77 this.tabControl1.Controls.Add(this.tabPage3); 78 this.tabControl1.Location = new System.Drawing.Point(0, 0); 79 this.tabControl1.Name = "tabControl1"; 80 this.tabControl1.SelectedIndex = 0; 81 this.tabControl1.Size = new System.Drawing.Size(679, 415); 82 this.tabControl1.TabIndex = 0; 83 // 84 // tabPage1 85 // 86 this.tabPage1.Controls.Add(this.btnSetPageSize); 87 this.tabPage1.Controls.Add(this.txtPageSize); 88 this.tabPage1.Controls.Add(this.btn_loadFromXML); 89 this.tabPage1.Controls.Add(this.tex_Path); 90 this.tabPage1.Controls.Add(this.btn_Input_Info); 91 this.tabPage1.Location = new System.Drawing.Point(4, 22); 92 this.tabPage1.Name = "tabPage1"; 93 this.tabPage1.Padding = new System.Windows.Forms.Padding(3); 94 this.tabPage1.Size = new System.Drawing.Size(671, 389); 95 this.tabPage1.TabIndex = 0; 96 this.tabPage1.Text = "加載"; 97 this.tabPage1.UseVisualStyleBackColor = true; 98 // 99 // btnSetPageSize 100 // 101 this.btnSetPageSize.Location = new System.Drawing.Point(120, 52); 102 this.btnSetPageSize.Name = "btnSetPageSize"; 103 this.btnSetPageSize.Size = new System.Drawing.Size(98, 23); 104 this.btnSetPageSize.TabIndex = 7; 105 this.btnSetPageSize.Text = "設置每頁大小"; 106 this.btnSetPageSize.UseVisualStyleBackColor = true; 107 this.btnSetPageSize.Click += new System.EventHandler(this.btnSetPageSize_Click); 108 // 109 // txtPageSize 110 // 111 this.txtPageSize.Location = new System.Drawing.Point(15, 53); 112 this.txtPageSize.Name = "txtPageSize"; 113 this.txtPageSize.Size = new System.Drawing.Size(100, 21); 114 this.txtPageSize.TabIndex = 6; 115 // 116 // btn_loadFromXML 117 // 118 this.btn_loadFromXML.AutoSize = true; 119 this.btn_loadFromXML.Location = new System.Drawing.Point(539, 15); 120 this.btn_loadFromXML.Name = "btn_loadFromXML"; 121 this.btn_loadFromXML.Size = new System.Drawing.Size(105, 23); 122 this.btn_loadFromXML.TabIndex = 5; 123 this.btn_loadFromXML.Text = "本地XML文檔加載"; 124 this.btn_loadFromXML.UseVisualStyleBackColor = true; 125 this.btn_loadFromXML.Click += new System.EventHandler(this.btn_loadFromXML_Click); 126 // 127 // tex_Path 128 // 129 this.tex_Path.Location = new System.Drawing.Point(15, 16); 130 this.tex_Path.Name = "tex_Path"; 131 this.tex_Path.Size = new System.Drawing.Size(436, 21); 132 this.tex_Path.TabIndex = 1; 133 this.tex_Path.Click += new System.EventHandler(this.tex_Path_Click); 134 // 135 // btn_Input_Info 136 // 137 this.btn_Input_Info.Location = new System.Drawing.Point(459, 15); 138 this.btn_Input_Info.Name = "btn_Input_Info"; 139 this.btn_Input_Info.Size = new System.Drawing.Size(75, 23); 140 this.btn_Input_Info.TabIndex = 0; 141 this.btn_Input_Info.Text = "導入"; 142 this.btn_Input_Info.UseVisualStyleBackColor = true; 143 this.btn_Input_Info.Click += new System.EventHandler(this.btn_Input_Info_Click); 144 // 145 // tabPage2 146 // 147 this.tabPage2.Controls.Add(this.lpage); 148 this.tabPage2.Controls.Add(this.btnNext); 149 this.tabPage2.Controls.Add(this.btnPre); 150 this.tabPage2.Controls.Add(this.btn_name); 151 this.tabPage2.Controls.Add(this.splitContainer1); 152 this.tabPage2.Controls.Add(this.btnSearch); 153 this.tabPage2.Controls.Add(this.btn_name_like); 154 this.tabPage2.Controls.Add(this.btn_sort_length); 155 this.tabPage2.Controls.Add(this.txtName); 156 this.tabPage2.Controls.Add(this.dataGridView1); 157 this.tabPage2.Location = new System.Drawing.Point(4, 22); 158 this.tabPage2.Name = "tabPage2"; 159 this.tabPage2.Padding = new System.Windows.Forms.Padding(3); 160 this.tabPage2.Size = new System.Drawing.Size(671, 389); 161 this.tabPage2.TabIndex = 1; 162 this.tabPage2.Text = "處理"; 163 this.tabPage2.UseVisualStyleBackColor = true; 164 // 165 // lpage 166 // 167 this.lpage.AutoSize = true; 168 this.lpage.Location = new System.Drawing.Point(517, 7); 169 this.lpage.Name = "lpage"; 170 this.lpage.Size = new System.Drawing.Size(11, 12); 171 this.lpage.TabIndex = 21; 172 this.lpage.Text = "0"; 173 // 174 // btnNext 175 // 176 this.btnNext.AutoSize = true; 177 this.btnNext.Location = new System.Drawing.Point(617, 1); 178 this.btnNext.Name = "btnNext"; 179 this.btnNext.Size = new System.Drawing.Size(51, 23); 180 this.btnNext.TabIndex = 20; 181 this.btnNext.Text = "Next>>"; 182 this.btnNext.UseVisualStyleBackColor = true; 183 this.btnNext.Click += new System.EventHandler(this.btnNext_Click); 184 // 185 // btnPre 186 // 187 this.btnPre.AutoSize = true; 188 this.btnPre.Location = new System.Drawing.Point(567, 1); 189 this.btnPre.Name = "btnPre"; 190 this.btnPre.Size = new System.Drawing.Size(45, 23); 191 this.btnPre.TabIndex = 19; 192 this.btnPre.Text = "<<Pre"; 193 this.btnPre.UseVisualStyleBackColor = true; 194 this.btnPre.Click += new System.EventHandler(this.btnPre_Click); 195 // 196 // btn_name 197 // 198 this.btn_name.AutoSize = true; 199 this.btn_name.Location = new System.Drawing.Point(391, 1); 200 this.btn_name.Name = "btn_name"; 201 this.btn_name.Size = new System.Drawing.Size(87, 23); 202 this.btn_name.TabIndex = 4; 203 this.btn_name.Text = "書名排序"; 204 this.btn_name.UseVisualStyleBackColor = true; 205 this.btn_name.Click += new System.EventHandler(this.btn_name_Click); 206 // 207 // splitContainer1 208 // 209 this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 210 | System.Windows.Forms.AnchorStyles.Right))); 211 this.splitContainer1.Location = new System.Drawing.Point(3, 216); 212 this.splitContainer1.Name = "splitContainer1"; 213 // 214 // splitContainer1.Panel1 215 // 216 this.splitContainer1.Panel1.Controls.Add(this.textBox1); 217 this.splitContainer1.Panel1.RightToLeft = System.Windows.Forms.RightToLeft.No; 218 this.splitContainer1.Panel1MinSize = 0; 219 // 220 // splitContainer1.Panel2 221 // 222 this.splitContainer1.Panel2.Controls.Add(this.textBox2); 223 this.splitContainer1.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No; 224 this.splitContainer1.Panel2MinSize = 0; 225 this.splitContainer1.Size = new System.Drawing.Size(665, 173); 226 this.splitContainer1.SplitterDistance = 327; 227 this.splitContainer1.SplitterWidth = 1; 228 this.splitContainer1.TabIndex = 18; 229 this.splitContainer1.SizeChanged += new System.EventHandler(this.splitContainer1_SizeChanged); 230 // 231 // textBox1 232 // 233 this.textBox1.AllowDrop = true; 234 this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; 235 this.textBox1.Location = new System.Drawing.Point(0, 0); 236 this.textBox1.Multiline = true; 237 this.textBox1.Name = "textBox1"; 238 this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both; 239 this.textBox1.Size = new System.Drawing.Size(327, 173); 240 this.textBox1.TabIndex = 14; 241 // 242 // textBox2 243 // 244 this.textBox2.AllowDrop = true; 245 this.textBox2.Dock = System.Windows.Forms.DockStyle.Fill; 246 this.textBox2.Location = new System.Drawing.Point(0, 0); 247 this.textBox2.Multiline = true; 248 this.textBox2.Name = "textBox2"; 249 this.textBox2.ScrollBars = System.Windows.Forms.ScrollBars.Both; 250 this.textBox2.Size = new System.Drawing.Size(337, 173); 251 this.textBox2.TabIndex = 15; 252 // 253 // btnSearch 254 // 255 this.btnSearch.Location = new System.Drawing.Point(170, 1); 256 this.btnSearch.Name = "btnSearch"; 257 this.btnSearch.Size = new System.Drawing.Size(43, 23); 258 this.btnSearch.TabIndex = 17; 259 this.btnSearch.Text = "搜索"; 260 this.btnSearch.UseVisualStyleBackColor = true; 261 this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); 262 // 263 // btn_name_like 264 // 265 this.btn_name_like.AutoSize = true; 266 this.btn_name_like.Location = new System.Drawing.Point(303, 1); 267 this.btn_name_like.Name = "btn_name_like"; 268 this.btn_name_like.Size = new System.Drawing.Size(87, 23); 269 this.btn_name_like.TabIndex = 3; 270 this.btn_name_like.Text = "名稱相似"; 271 this.btn_name_like.UseVisualStyleBackColor = true; 272 this.btn_name_like.Click += new System.EventHandler(this.btn_name_like_Click); 273 // 274 // btn_sort_length 275 // 276 this.btn_sort_length.AutoSize = true; 277 this.btn_sort_length.Location = new System.Drawing.Point(215, 1); 278 this.btn_sort_length.Name = "btn_sort_length"; 279 this.btn_sort_length.Size = new System.Drawing.Size(87, 23); 280 this.btn_sort_length.TabIndex = 2; 281 this.btn_sort_length.Text = "大小排序"; 282 this.btn_sort_length.UseVisualStyleBackColor = true; 283 this.btn_sort_length.Click += new System.EventHandler(this.btn_sort_length_Click); 284 // 285 // txtName 286 // 287 this.txtName.Location = new System.Drawing.Point(3, 3); 288 this.txtName.Name = "txtName"; 289 this.txtName.Size = new System.Drawing.Size(161, 21); 290 this.txtName.TabIndex = 16; 291 // 292 // dataGridView1 293 // 294 this.dataGridView1.AllowUserToAddRows = false; 295 this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 296 | System.Windows.Forms.AnchorStyles.Left) 297 | System.Windows.Forms.AnchorStyles.Right))); 298 this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; 299 this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Window; 300 this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { 301 this.delete, 302 this.load, 303 this.bookname, 304 this.author, 305 this.path, 306 this.length, 307 this.type}); 308 this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; 309 this.dataGridView1.Location = new System.Drawing.Point(3, 25); 310 this.dataGridView1.Margin = new System.Windows.Forms.Padding(0); 311 this.dataGridView1.MultiSelect = false; 312 this.dataGridView1.Name = "dataGridView1"; 313 this.dataGridView1.RowTemplate.Height = 23; 314 this.dataGridView1.Size = new System.Drawing.Size(665, 188); 315 this.dataGridView1.TabIndex = 11; 316 this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick); 317 // 318 // delete 319 // 320 this.delete.HeaderText = "刪除"; 321 this.delete.Name = "delete"; 322 this.delete.Text = "刪除"; 323 this.delete.UseColumnTextForButtonValue = true; 324 // 325 // load 326 // 327 this.load.HeaderText = "加載"; 328 this.load.Name = "load"; 329 this.load.Text = "加載"; 330 this.load.UseColumnTextForButtonValue = true; 331 // 332 // bookname 333 // 334 this.bookname.HeaderText = "書名"; 335 this.bookname.Name = "bookname"; 336 this.bookname.ReadOnly = true; 337 // 338 // author 339 // 340 this.author.HeaderText = "作者"; 341 this.author.Name = "author"; 342 this.author.ReadOnly = true; 343 this.author.Visible = false; 344 // 345 // path 346 // 347 this.path.HeaderText = "路徑"; 348 this.path.Name = "path"; 349 this.path.ReadOnly = true; 350 // 351 // length 352 // 353 this.length.HeaderText = "大小"; 354 this.length.Name = "length"; 355 this.length.ReadOnly = true; 356 // 357 // type 358 // 359 this.type.HeaderText = "後綴"; 360 this.type.Name = "type"; 361 this.type.ReadOnly = true; 362 // 363 // tabPage3 364 // 365 this.tabPage3.Location = new System.Drawing.Point(4, 22); 366 this.tabPage3.Name = "tabPage3"; 367 this.tabPage3.Padding = new System.Windows.Forms.Padding(3); 368 this.tabPage3.Size = new System.Drawing.Size(625, 389); 369 this.tabPage3.TabIndex = 2; 370 this.tabPage3.Text = "人工智能"; 371 this.tabPage3.UseVisualStyleBackColor = true; 372 // 373 // rtx_show 374 // 375 this.rtx_show.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 376 | System.Windows.Forms.AnchorStyles.Right))); 377 this.rtx_show.Location = new System.Drawing.Point(5, 413); 378 this.rtx_show.Name = "rtx_show"; 379 this.rtx_show.Size = new System.Drawing.Size(671, 158); 380 this.rtx_show.TabIndex = 2; 381 this.rtx_show.Text = ""; 382 // 383 // frmMain 384 // 385 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 386 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 387 this.ClientSize = new System.Drawing.Size(684, 575); 388 this.Controls.Add(this.rtx_show); 389 this.Controls.Add(this.tabControl1); 390 this.Name = "frmMain"; 391 this.Text = "frmMain"; 392 this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); 393 this.tabControl1.ResumeLayout(false); 394 this.tabPage1.ResumeLayout(false); 395 this.tabPage1.PerformLayout(); 396 this.tabPage2.ResumeLayout(false); 397 this.tabPage2.PerformLayout(); 398 this.splitContainer1.Panel1.ResumeLayout(false); 399 this.splitContainer1.Panel1.PerformLayout(); 400 this.splitContainer1.Panel2.ResumeLayout(false); 401 this.splitContainer1.Panel2.PerformLayout(); 402 ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); 403 this.splitContainer1.ResumeLayout(false); 404 ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); 405 this.ResumeLayout(false); 406 407 } 408 409 #endregion 410 411 private System.Windows.Forms.TabControl tabControl1; 412 private System.Windows.Forms.TabPage tabPage1; 413 private System.Windows.Forms.TabPage tabPage2; 414 private System.Windows.Forms.TextBox tex_Path; 415 private System.Windows.Forms.Button btn_Input_Info; 416 private System.Windows.Forms.RichTextBox rtx_show; 417 private System.Windows.Forms.DataGridView dataGridView1; 418 private System.Windows.Forms.TextBox textBox2; 419 private System.Windows.Forms.TextBox textBox1; 420 private System.Windows.Forms.TextBox txtName; 421 private System.Windows.Forms.Button btnSearch; 422 private System.Windows.Forms.TabPage tabPage3; 423 private System.Windows.Forms.Button btn_sort_length; 424 private System.Windows.Forms.Button btn_name_like; 425 private System.Windows.Forms.Button btn_name; 426 private System.Windows.Forms.SplitContainer splitContainer1; 427 private System.Windows.Forms.DataGridViewButtonColumn delete; 428 private System.Windows.Forms.DataGridViewButtonColumn load; 429 private System.Windows.Forms.DataGridViewTextBoxColumn bookname; 430 private System.Windows.Forms.DataGridViewTextBoxColumn author; 431 private System.Windows.Forms.DataGridViewTextBoxColumn path; 432 private System.Windows.Forms.DataGridViewTextBoxColumn length; 433 private System.Windows.Forms.DataGridViewTextBoxColumn type; 434 private System.Windows.Forms.Button btn_loadFromXML; 435 private System.Windows.Forms.Label lpage; 436 private System.Windows.Forms.Button btnNext; 437 private System.Windows.Forms.Button btnPre; 438 private System.Windows.Forms.Button btnSetPageSize; 439 private System.Windows.Forms.TextBox txtPageSize; 440 } 441 }frmMain.Designer
================================================================================================
源代碼百度網盤下載: http://pan.baidu.com/s/1kUQrVQv