private void mnOpenJam_Click(object sender, System.EventArgs e) { OpenFileDialog fd = new OpenFileDialog(); fd.Title = "请选择GECHO信区设置文件"; fd.FileName = "AREAFILE.GE"; fd.Filter = "GECHO信区设置文件AREAFILE.GE|AREAFILE.GE"; if (DialogResult.OK != fd.ShowDialog()) { return; } // 打开信包 MailArea[] Areas = MailArea.LoadAreasFromFile(fd.FileName); if (Areas == null || Areas.Length == 0) { MessageBox.Show("打开信区配置文件出错!或是没有配置任何信区."); return; } this.GEchoFile = fd.FileName; // 试着打开第一个文件 if (!File.Exists(Areas[0].sFullPathName)) { MessageBox.Show("没有找到信区配置里指定的文件,可能是因为计算机环境的改变引起的,您可以手工指定信包文件."); fd.Title = "请选择指定的信包文件"; fd.FileName = Areas[0].sFileName + ".JHR"; fd.Filter = "信包文件" + Areas[0].sFileName + ".JHR|" + Areas[0].sFileName + ".JHR"; if (DialogResult.OK != fd.ShowDialog()) { MessageBox.Show("由于没有打到信包文件,信区无法打开"); return; } // 找出信包文件的路径 string sPath = fd.FileName.Substring(0, fd.FileName.LastIndexOfAny(new char[] { '\\', ':' }) + 1); this.JamPath = sPath; this.OpenJam(); } return; }
private void OpenJam() { this.Cursor = Cursors.WaitCursor; MailArea[] Areas = MailArea.LoadAreasFromFile(this.GEchoFile); if (Areas == null) { MessageBox.Show("打不开你指出的GECHO设置文件! 请您再指定一下"); this.mnOpenJam_Click(null, null); return; } this.lvArea.Items.Clear(); for (int i = 0; i < Areas.Length; i++) { Areas[i].ChangePath(this.JamPath); Areas[i].LoadAreaInfo(); ListViewItem lvi = this.lvArea.Items.Add(Areas[i].sAreaname); lvi.SubItems.Add(Areas[i].sDes); lvi.SubItems.Add(Areas[i].lMailCount.ToString("#,0")); lvi.Tag = Areas[i]; } this.Cursor = Cursors.Default; }