Form1.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using WordAnalyze;
  11. using Logger = Log.Log;
  12. namespace WindowsFormsApp1
  13. {
  14. public partial class Form1 : Form
  15. {
  16. private WordAnalyze.Analyze Analyzer = null;
  17. public Form1()
  18. {
  19. InitializeComponent();
  20. // 初始化处理文档对象
  21. Analyzer = new WordAnalyze.Analyze();
  22. init_listView();
  23. init_textBox();
  24. }
  25. // 初始化显示的列表
  26. private void init_listView()
  27. {
  28. listView1.View = View.Details;
  29. Console.WriteLine(listView1.Columns.Count);
  30. // 第一列,文件名
  31. if (0 == listView1.Columns.Count)
  32. {
  33. listView1.Columns.Add("文件名");
  34. Console.WriteLine(listView1.Columns.Count);
  35. }
  36. Console.WriteLine(listView1.Columns.Count);
  37. listView1.Columns[0].Text = "文件名";
  38. listView1.Columns[0].Width = 200;
  39. listView1.Columns[0].TextAlign = HorizontalAlignment.Left;
  40. // 第二列,状态
  41. if (1 == listView1.Columns.Count)
  42. {
  43. listView1.Columns.Add("状态");
  44. }
  45. listView1.Columns[1].Text = "状态";
  46. listView1.Columns[1].Width = 50;
  47. listView1.Columns[1].TextAlign = HorizontalAlignment.Left;
  48. // 第三列,错误信息,成功则忽略
  49. if (2 == listView1.Columns.Count)
  50. {
  51. listView1.Columns.Add("信息");
  52. }
  53. listView1.Columns[2].Text = "信息";
  54. listView1.Columns[2].Width = 300;
  55. listView1.Columns[2].TextAlign = HorizontalAlignment.Left;
  56. }
  57. // 初始化存储文件夹的显示框
  58. private void init_textBox()
  59. {
  60. textBox1.Enabled = false;
  61. }
  62. // 开始处理word文档
  63. private void button1_Click(object sender, EventArgs e)
  64. {
  65. if (fileNames == null || fileNames.Length < 1)
  66. {
  67. Logger.D("event start, but no file to analyse");
  68. return;
  69. }
  70. for (int i = 0; i < fileNames.Length; i ++)
  71. {
  72. string.Format("{0}", "djlf");
  73. Logger.D("start analyze with filename({0})", fileNames[i]);
  74. var result = Analyzer.AnalyzeFile(fileNames[i]);
  75. if (listView1.Items.Count < i + 1)
  76. {
  77. Logger.D("analyze with filename({0}) success but item with index({1}) is unexpected", fileNames[i], i);
  78. continue;
  79. }
  80. if (listView1.Items[i].SubItems.Count != 3)
  81. {
  82. Logger.D("analyze with filename({0}) success but item with index({1}) contain unexpected subitem length({2})", fileNames[i], i, listView1.Items[i].SubItems.Count);
  83. continue;
  84. }
  85. string status = "成功";
  86. if (result != "")
  87. {
  88. status = "失败";
  89. }
  90. Logger.D("{0}, {1}", listView1.Items[i].SubItems[0].Text, listView1.Items[i].SubItems[1].Text);
  91. listView1.Items[i].SubItems[1].Text = status;
  92. listView1.Items[i].SubItems[2].Text = result;
  93. Logger.D("analyze with filename({0}) success with result({1})", fileNames[i], result);
  94. }
  95. }
  96. private void folderBrowserDialog1_HelpRequest(object sender, EventArgs e)
  97. {
  98. }
  99. private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
  100. {
  101. }
  102. private void button2_Click(object sender, EventArgs e)
  103. {
  104. // 选择文件
  105. Console.WriteLine("button click happened");
  106. OpenFileDialog openFileDialog = new OpenFileDialog();
  107. openFileDialog.Filter = "doc files (*.doc)|*.doc| docx files (*.docx)|*.docx";
  108. openFileDialog.Multiselect = true;
  109. openFileDialog.Title = "选择doc或者docx文件";
  110. if (openFileDialog.ShowDialog() == DialogResult.OK)
  111. {
  112. fileNames = openFileDialog.FileNames;
  113. Console.WriteLine("select files ");
  114. for (int i = 0; i < fileNames.Length; i++)
  115. {
  116. Console.WriteLine(fileNames[i]);
  117. }
  118. // 先清空列表,再渲染列表
  119. listView1.Items.Clear();
  120. listview_draw(fileNames);
  121. }
  122. }
  123. private void Form1_Load(object sender, EventArgs e)
  124. {
  125. }
  126. private void listview_draw(string[] fileNames)
  127. {
  128. for (int i = 0; i < fileNames.Length; i++)
  129. {
  130. ListViewItem item = new ListViewItem();
  131. item.Text = fileNames[i];
  132. item.SubItems.Add("等待中");
  133. item.SubItems.Add("");
  134. listView1.Items.Add(item);
  135. }
  136. }
  137. private void listView1_SelectedIndexChanged(object sender, EventArgs e)
  138. {
  139. }
  140. private void button3_Click(object sender, EventArgs e)
  141. {
  142. FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
  143. if(folderBrowserDialog.ShowDialog() == DialogResult.OK)
  144. {
  145. AimFolder = folderBrowserDialog.SelectedPath;
  146. textBox1.Text = AimFolder;
  147. }
  148. }
  149. private void textBox1_TextChanged(object sender, EventArgs e)
  150. {
  151. }
  152. }
  153. }