using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WordAnalyze; using Logger = Log.Log; namespace WindowsFormsApp1 { public partial class Form1 : Form { private WordAnalyze.Analyze Analyzer = null; public Form1() { InitializeComponent(); // 初始化处理文档对象 Analyzer = new WordAnalyze.Analyze(); init_listView(); init_textBox(); } // 初始化显示的列表 private void init_listView() { listView1.View = View.Details; Console.WriteLine(listView1.Columns.Count); // 第一列,文件名 if (0 == listView1.Columns.Count) { listView1.Columns.Add("文件名"); Console.WriteLine(listView1.Columns.Count); } Console.WriteLine(listView1.Columns.Count); listView1.Columns[0].Text = "文件名"; listView1.Columns[0].Width = 200; listView1.Columns[0].TextAlign = HorizontalAlignment.Left; // 第二列,状态 if (1 == listView1.Columns.Count) { listView1.Columns.Add("状态"); } listView1.Columns[1].Text = "状态"; listView1.Columns[1].Width = 50; listView1.Columns[1].TextAlign = HorizontalAlignment.Left; // 第三列,错误信息,成功则忽略 if (2 == listView1.Columns.Count) { listView1.Columns.Add("信息"); } listView1.Columns[2].Text = "信息"; listView1.Columns[2].Width = 300; listView1.Columns[2].TextAlign = HorizontalAlignment.Left; } // 初始化存储文件夹的显示框 private void init_textBox() { textBox1.Enabled = false; } // 开始处理word文档 private void button1_Click(object sender, EventArgs e) { if (fileNames == null || fileNames.Length < 1) { Logger.D("event start, but no file to analyse"); return; } for (int i = 0; i < fileNames.Length; i ++) { string.Format("{0}", "djlf"); Logger.D("start analyze with filename({0})", fileNames[i]); var result = Analyzer.AnalyzeFile(fileNames[i]); if (listView1.Items.Count < i + 1) { Logger.D("analyze with filename({0}) success but item with index({1}) is unexpected", fileNames[i], i); continue; } if (listView1.Items[i].SubItems.Count != 3) { 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); continue; } string status = "成功"; if (result != "") { status = "失败"; } Logger.D("{0}, {1}", listView1.Items[i].SubItems[0].Text, listView1.Items[i].SubItems[1].Text); listView1.Items[i].SubItems[1].Text = status; listView1.Items[i].SubItems[2].Text = result; Logger.D("analyze with filename({0}) success with result({1})", fileNames[i], result); } } private void folderBrowserDialog1_HelpRequest(object sender, EventArgs e) { } private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { } private void button2_Click(object sender, EventArgs e) { // 选择文件 Console.WriteLine("button click happened"); OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "doc files (*.doc)|*.doc| docx files (*.docx)|*.docx"; openFileDialog.Multiselect = true; openFileDialog.Title = "选择doc或者docx文件"; if (openFileDialog.ShowDialog() == DialogResult.OK) { fileNames = openFileDialog.FileNames; Console.WriteLine("select files "); for (int i = 0; i < fileNames.Length; i++) { Console.WriteLine(fileNames[i]); } // 先清空列表,再渲染列表 listView1.Items.Clear(); listview_draw(fileNames); } } private void Form1_Load(object sender, EventArgs e) { } private void listview_draw(string[] fileNames) { for (int i = 0; i < fileNames.Length; i++) { ListViewItem item = new ListViewItem(); item.Text = fileNames[i]; item.SubItems.Add("等待中"); item.SubItems.Add(""); listView1.Items.Add(item); } } private void listView1_SelectedIndexChanged(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog(); if(folderBrowserDialog.ShowDialog() == DialogResult.OK) { AimFolder = folderBrowserDialog.SelectedPath; textBox1.Text = AimFolder; } } private void textBox1_TextChanged(object sender, EventArgs e) { } } }