public void m_mthCreatFile() { if (objArr == null || objArr.Length == 0) { return; } SaveFileDialog objDlg = new SaveFileDialog(); objDlg.Title = "请选择保存路径"; objDlg.OverwritePrompt = true; objDlg.CheckPathExists = true; objDlg.AddExtension = true; objDlg.FileName = "文件名"; objDlg.DefaultExt = "emr"; objDlg.Filter = "灏瀚处方文件 (*.emr)|*.emr|所有文件 (*.*)|*.*"; if (objDlg.ShowDialog() != DialogResult.OK) { return; } string[] strPath = objDlg.FileName.Split('\\'); string strpath = ""; for (int p = 0; p < strPath.Length - 1; p++) { strpath += strPath[p] + "\\"; } dwtProcessBar objProcessBar = new dwtProcessBar("正在生成文件,请稍候..."); objProcessBar.IsCanCancel = true; objProcessBar.m_mthSetMaxValue(objArr.Length); try { objProcessBar.Show(); for (int i = 0; i < objArr.Length; i++) { if (objProcessBar.IsCancel) { break; } clsOutpatientPrintRecipe_VO m_objSetValue = m_mthGetPrintVo(objArr[i].Trim()); string path = strpath; path += m_objSetValue.m_strDiagDrName + m_objSetValue.m_strPatientType.Replace("/", "") + m_objSetValue.strInvoiceNO + ".emr"; IFormatter objForm = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); Stream objStream = new System.IO.FileStream(path, FileMode.Create); objForm.Serialize(objStream, m_objSetValue); objStream.Flush(); objStream.Close(); objProcessBar.m_mthAdd(); Application.DoEvents(); } objProcessBar.Hide(); MessageBox.Show("文件生成成功\n共生成了" + objProcessBar.GetValue.ToString() + "个文件"); objProcessBar.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); // MessageBox.Show("无法保存文件,请检查文件名是否与只读文件重名或磁盘空间不足。"); objProcessBar.Close(); } }