Newer
Older
GHFX_REFACTOR / HFS_Forms / Frm_HFSinout.cs
wxn on 2 Nov 2016 8 KB 提交
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using DevComponents.DotNetBar;

namespace Cyberpipe.HFS_Forms
{
    public partial class Frm_HFSinout : Office2007Form
    {
        public Frm_HFSinout()
        {
            InitializeComponent();
        }
        #region  公共变量
        HFS_logicfile.HFS_Affair HFSAClass = new Cyberpipe.HFS_logicfile.HFS_Affair();//实例化ModuleClass文件夹下的FrmAffairClass公共类
        //PED_logicfile.PED_Database dataclass = new Cyberpipe.PED_logicfile.PED_Database();//实例化ModuleClass文件夹下的DataClass公共类
        string dir = "";
        string dir_Ok = "";
        int m = 0;
        string Imadir = "";

        System.Drawing.Image img1;
        System.Drawing.Image img2;
        System.Drawing.Image img3;
        Cyberpipe.udfiles.UpDownFile UDF = new udfiles.UpDownFile(Utility.udserviceurl);
        #endregion

        public void Drive_Name(ComboBox Cbm)
        {
            Cbm.Items.Clear();
            DriveInfo[] myAllDrives = DriveInfo.GetDrives();
            foreach (DriveInfo myDrive in myAllDrives)//循环写入每个磁盘的参数
            {
                if (myDrive.IsReady)
                {
                    Cbm.Items.Add(myDrive.Name);
                }
            }
        }

        public void SubForders(string dir, TreeView TV, TreeNode node)
        {
            int n = 0;
            try
            {
                DirectoryInfo directoryInfo = new DirectoryInfo(dir);
                TreeNode SelectNode = new TreeNode();
                if (dir.Length <= 3)
                {
                    TV.Nodes.Clear();
                    foreach (DirectoryInfo childDirectoryInfo in directoryInfo.GetDirectories())
                    {
                        TreeNode SubNode = new TreeNode(childDirectoryInfo.Name.ToString());
                        SubNode.ImageIndex = 0;
                        TV.Nodes.Add(SubNode);
                        SubNode.Nodes.Add(new TreeNode(""));
                    }
                }
                else
                {
                    SelectNode = TV.SelectedNode;
                    if (TV.SelectedNode == null)
                        SelectNode = node;
                    SelectNode.Nodes.Clear();
                    foreach (DirectoryInfo childDirectoryInfo in directoryInfo.GetDirectories())
                    {
                        TreeNode SubNode = new TreeNode(childDirectoryInfo.Name.ToString());
                        SubNode.ImageIndex = 0;
                        SelectNode.Nodes.Add(SubNode);
                        SubNode.Nodes.Add(new TreeNode(""));
                        n = 1;
                    }
                }
                if (n == 0)
                    SelectNode.ImageIndex = 0;
            }
            catch (Exception ex) { }


        }

        private void comboBox_Disk_TextChanged(object sender, EventArgs e)
        {
            SubForders(((ComboBox)sender).Text, treeView1, new TreeNode(""));
        }

        private void Frm_HFSinout_Load(object sender, EventArgs e)
        {
            string appUrl = "";
            appUrl = Application.StartupPath;

            img1 = Image.FromFile(appUrl + "/Resource/00.png");
            img2 = Image.FromFile(appUrl + "/Resource/01.png");
            img3 = Image.FromFile(appUrl + "/Resource/03.png");
            this.imageList1.Images.Add(img1);
            this.imageList1.Images.Add(img2);
            this.imageList1.Images.Add(img3);

            Imadir = HFSAClass.UpAndDown_Dir(System.AppDomain.CurrentDomain.BaseDirectory);
            Imadir = HFSAClass.UpAndDown_Dir(Imadir);
            Imadir = HFSAClass.UpAndDown_Dir(Imadir);
            //panel_Title.BackgroundImage = Image.FromFile(Imadir + "\\Image\\" + ModuleClass.FrmAffairClass.Redact_T + this.Tag.ToString() + ".JPG");
            m = int.Parse(this.Tag.ToString());
            switch (m)
            {
                case 0:
                    {
                        //panel_Guide.BackgroundImage = Image.FromFile(Imadir + "\\Image\\" + ModuleClass.FrmAffairClass.Redact_T + "3.JPG");
                        break;
                    }
                case 1:
                    {
                        // panel_Guide.BackgroundImage = Image.FromFile(Imadir + "\\Image\\" + ModuleClass.FrmAffairClass.Redact_T + "4.JPG");
                        break;
                    }
                case 2:
                    {
                        //panel_Guide.BackgroundImage = Image.FromFile(Imadir + "\\Image\\" + ModuleClass.FrmAffairClass.Redact_T + "4.JPG");
                        break;
                    }
            }
            Drive_Name(comboBox_Disk);
        }

        //private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        //{
        //    dir = comboBox_Disk.Text + e.Node.FullPath;
        //    dir_Ok = dir;
        //    e.Node.SelectedImageIndex = e.Node.ImageIndex;
        //    SubForders(dir, treeView1, e.Node);
        //}

        private void Cancel_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;//将当前窗体的对话框返回值设为Cancel
            Close();
        }

        private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
        {
            e.Node.ImageIndex = 1;
            SubForders(comboBox_Disk.Text + e.Node.FullPath, treeView1, e.Node);
        }

        private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e)
        {
            e.Node.ImageIndex = 0;
        }

        private void OK_Click(object sender, EventArgs e)
        {

            if (textBox1.Text == "")
            {
                MessageBox.Show("请选择输出位置!");
                return;
            } 
            
            if (dir_Ok == "")
                dir_Ok = textBox1.Text;

            switch (m)
            {
                case 0:
                    {
                        HFSAClass.Folder_Handle(Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D + "\\" + HFSAClass.Files_Name(dir_Ok, 1), dir_Ok, "data", 3);
                        break;
                    }
                case 1:
                    {
                        HFSAClass.Folder_Handle(dir_Ok + "\\" + HFSAClass.Files_Name(Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D, 1), Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D, "", 3);
                        break;
                    }
                case 2:
                    {
                        if (File.Exists(dir_Ok + "\\" + HFSAClass.Files_Name(Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D, 1)) == true)
                        {
                            if (MessageBox.Show("文件夹下有同名文件,是否替换?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                                break;
                        }
                        byte[] file = UDF.Down(Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D);
                        FileStream pFileSream = new FileStream(dir_Ok + "\\" + Cyberpipe.HFS_logicfile.HFS_Affair.Redact_N, FileMode.OpenOrCreate);
                        pFileSream.Write(file, 0, file.Length);
                        pFileSream.Close();
                        if (File.Exists(dir_Ok + "\\" + HFSAClass.Files_Name(Cyberpipe.HFS_logicfile.HFS_Affair.Redact_D, 1)) == true)
                        {
                            MessageBox.Show("文件导出成功!");
                        }
                       break;
                    }
            }
            DialogResult = DialogResult.OK;//将当前窗体的对话框返回值设为OK
        }
        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            dir_Ok = comboBox_Disk.Text + e.Node.FullPath;
            //dir = comboBox_Disk.Text + e.Node.FullPath; 
            e.Node.SelectedImageIndex = e.Node.ImageIndex;
        }
        string tempstr = "";
        private void button1_Click(object sender, EventArgs e)
        {
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)                  //打开文件夹对话框
            {
                textBox1.Text = folderBrowserDialog1.SelectedPath;                //显示选择的文件夹路径
                tempstr = folderBrowserDialog1.SelectedPath;                                         //执行当前线程
            }
        }
    }
}