//浏览电子文件
        private void previewFile()
        {
            if (lstFileExplorer.SelectedItems.Count == 0)
            {
                MB.WinBase.MessageBoxEx.Show("请选择需要导出的电子文件.");
                return;
            }
            try {
                FileDataInfo dataInfo = lstFileExplorer.SelectedItems[0].Tag as FileDataInfo;
                //string tempFile = System.AppDomain.CurrentDomain.BaseDirectory  +     @"temp\" + System.Guid.NewGuid().ToString().Replace('-','1')  +  dataInfo.Type;
                string tempFile = System.AppDomain.CurrentDomain.BaseDirectory + @"temp\" + System.Guid.NewGuid().ToString() + dataInfo.Type;
                System.IO.FileStream   myStream = new System.IO.FileStream(tempFile, System.IO.FileMode.CreateNew);
                System.IO.BinaryWriter binWrite = new System.IO.BinaryWriter(myStream);
                binWrite.Write(dataInfo.Content);
                binWrite.Close();
                myStream.Close();

                System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
                Info.FileName = tempFile;//FILE_PATH;
                //声明一个程序类
                System.Diagnostics.Process Proc;
                //启动外部程序
                Proc = System.Diagnostics.Process.Start(Info);
            }
            catch (Exception e) {
                MB.Util.TraceEx.Write("文件浏览有误" + e.Message);
                MB.WinBase.MessageBoxEx.Show("文件浏览有误,可能是找不到对应的打开程序。请重试.");
            }
        }
        private void addFileToList(string fileFullName)
        {
            FileInfo fi      = new FileInfo(fileFullName);
            int      fileLen = (int)fi.Length;

            byte[] datas = new byte[fileLen];
            System.IO.FileStream fileStream = fi.OpenRead();
            fileStream.Read(datas, 0, fileLen);
            fileStream.Close();

            FileDataInfo fileData = new FileDataInfo();

            if (_FileList.Where <FileDataInfo>(o => string.Compare(o.Name, fi.Name, true) == 0).Count <FileDataInfo>() > 0)
            {
                return;
            }

            fileData.Name       = fi.Name;
            fileData.Size       = System.Convert.ToInt32(fi.Length);
            fileData.Type       = fi.Extension;
            fileData.CreateDate = System.DateTime.Now;
            fileData.Content    = datas;

            fileData.SmallFileIcon = MB.Util.MyConvert.Instance.ImageToByte(IconExtractor.GetFileIcon(fi.FullName, IconSize.Small));
            fileData.LargeFileIcon = MB.Util.MyConvert.Instance.ImageToByte(Image.FromFile(fileFullName).GetThumbnailImage(_ShrinkImageSize.Width, _ShrinkImageSize.Height, null, new IntPtr()));   //MB.Util.MyConvert.Instance.ImageToByte(IconExtractor.GetFileIcon(fi.FullName, IconSize.Large));

            _FileList.Add(fileData);
            System.Windows.Forms.ListViewItem item = createItemByInfo(fileData);
            lstFileExplorer.Items.Add(item);
        }
 //删除选择的行
 private void deleteFile()
 {
     if (lstFileExplorer.SelectedItems.Count == 0)
     {
         MB.WinBase.MessageBoxEx.Show("请选择需要删除的电子文件.");
         return;
     }
     while (lstFileExplorer.SelectedItems.Count > 0)
     {
         System.Windows.Forms.ListViewItem item = lstFileExplorer.SelectedItems[0];
         FileDataInfo dataInfo = item.Tag as FileDataInfo;
         _FileList.Remove(dataInfo);
         lstFileExplorer.Items.Remove(item);
     }
 }
        //导出电子文件
        private void outputFile()
        {
            if (lstFileExplorer.SelectedItems.Count == 0)
            {
                MB.WinBase.MessageBoxEx.Show("请选择需要导出的电子文件.");
                return;
            }
            try {
                FileDataInfo dataInfo = lstFileExplorer.SelectedItems[0].Tag as FileDataInfo;
                System.Windows.Forms.SaveFileDialog saveDlg = new System.Windows.Forms.SaveFileDialog();

                saveDlg.DefaultExt = dataInfo.Type;
                string fileType = dataInfo.Type;
                saveDlg.Filter = fileType.Remove(0, 1) + " files (*" + fileType + ")|*" + fileType;;

                if (saveDlg.ShowDialog() == DialogResult.OK)
                {
                    System.IO.Stream outPut = null;
                    if ((outPut = saveDlg.OpenFile()) != null)
                    {
                        if (outPut.Length > 0)
                        {
                            DialogResult re = MB.WinBase.MessageBoxEx.Question("文件已经存在,是否要覆盖原先的文件?");
                            if (re != DialogResult.Yes)
                            {
                                outPut.Close();
                                return;
                            }
                        }
                        System.IO.BinaryWriter binWrite = new System.IO.BinaryWriter(outPut);
                        binWrite.Write(dataInfo.Content);
                        binWrite.Close();
                        if (outPut != null)
                        {
                            outPut.Close();
                        }

                        MB.WinBase.MessageBoxEx.Show("文件导出操作成功!");
                    }
                }
            }
            catch (Exception ex) {
                MB.WinBase.MessageBoxEx.Show("文件导出操作不成功!");
                MB.Util.TraceEx.Write(ex.Message);
            }
        }
        //根据Info 创建listview 的item
        private System.Windows.Forms.ListViewItem createItemByInfo(FileDataInfo dataInfo)
        {
            System.Windows.Forms.ListViewItem item = new ListViewItem(dataInfo.Name);

            item.SubItems.Add(dataInfo.Type);
            item.SubItems.Add((dataInfo.Size / 1000).ToString() + " KB");
            item.SubItems.Add(dataInfo.CreateDate.ToString("yyyy-MM-dd hh:mm"));
            item.SubItems.Add(dataInfo.Remark);
            item.Tag = dataInfo;

            _SmallIconList.Images.Add(MB.Util.MyConvert.Instance.ByteToImage(dataInfo.SmallFileIcon));

            _IconList.Images.Add(MB.Util.MyConvert.Instance.ByteToImage(dataInfo.LargeFileIcon));
            item.ImageIndex = _SmallIconList.Images.Count - 1;

            return(item);
        }
 public EditFileExplorerEventArgs(System.Windows.Forms.ListViewItem item, FileDataInfo itemData)
 {
     _Item     = item;
     _ItemData = itemData;
 }