C#创建Windows窗体应用程序实例10【目录管理】

 都实例10了?你还不会创建项目?不会操作步骤?不会写代码?请进入下方链接学习吧!

C#创建Windows窗体应用程序实例1

C#创建Windows窗体应用程序实例2

1. 知识点

1. 路径的运用:

(1) 绝对路径:是从盘符开始的路径    

        " c:\\mydir"    

        "c:\\mydir\\mydir1"    

        @"c:\mydir"

(2) 相对路径:是从当前路径开始的路径    

        a.假如当前路径为 C:\windows          

                ".\system32\cmd.exe " //.表示当前路径    

        b.假如当前路径为 C:\program files        

                 "..\windows\system32\cmd.exe" //..为父目录    

        c.假如当前路径如果为 C:\program files\common files          

                "..\..\windows\system32\cmd.exe"

方法1:判断目录是否存在      

        bool  b1=Directory.Exists("c:\\mydir");  

        或bool  b1=Directory.Exists(@"c:\mydir");

方法2:判断目录是否存在    

        DirectoryInfo  di=new DirectoryInfo("c:\\mydir");    

        bool b2=di.Exists;

方法1:创建目录(使用Directory类)  

        Directory.CreateDirectory("c:\\mydir");

方法2:创建目录(使用DirectoryInfo类)  

        DirectoryInfo  d2=new DirectoryInfo("c:\\mydir");   d2.Create();

方法1:删除目录

        string path1=@”d:\abc”;  if(Directory.Exists(path1))  { Directory.Delete(path1,true); }

方法2:删除目录

        DirectoryInfo di=new DirectoryInfo(@”d:\abd”);  if(di.Exists) {  di.Delete();  }

方法1:移动目录

        if(Directory.Exists(@“d:\aaa”)) { Directory.Move(@“d:\aaa”,@“e:\”); }

方法2:移动目录

        DirectoryInfo di=new  DirectoryInfo(@“d:\aaa”)); if(di.Exists){   di.MoveTo(@”e:\”); }

方法1:获取子目录

        string  path0=@“c:\”;

        string[] sdirs1=Directory.GetDirectories(path0);

        foreach(string sdir in sdirs1) { Console.WriteLine(“{0}”,sdir); }

方法2:获取子目录

        DirectoryInfo di=new DirectoryInfo(@“c:\”);

        string[] sdirs2=di.GetDirectories();

        foreach(string sdir in sdirs2) {     Console.WriteLine(“{0}”,sdir);    }

方法1:获取目录下的文件

        string[] fs1=Directory.GetFiles(path1);

        foreach(string f in fs1) { Console.WriteLine(“{0}”,f); }

方法2:获取目录下的文件

        DirectoryInfo di=new DirectoryInfo(@“c:\”);

        string [] fs1=di.GetFiles();

        foreach(string f in fs1) { Console.WriteLine(“{0}”,f); }

2. 样式设计

在工具中选择 以下 控件

 

 

 

 

 

3. 代码实现 

using System.Windows.Forms;
using System.IO;

namespace 目录管理
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
        }
        //”创建”的Click事件的代码
        private void button1_Click(object sender, EventArgs e)
        {
            string cpath = textBox1.Text;
            if (cpath != "")
            {
                if (!Directory.Exists(@cpath))
                { Directory.CreateDirectory(@cpath); }
                else
                { MessageBox.Show("目录已存在或非法目录!"); }
            }
            else
            {
                MessageBox.Show("请输入要创建的目录!");
                this.textBox1.Focus();
            }
        }
        //”删除”的Click事件的代码
        private void button2_Click(object sender, EventArgs e)
        {
            string dpath = textBox2.Text;
            if (dpath != "")
            {
                if (Directory.Exists(@dpath))
                { Directory.Delete(@dpath); }
                else
                { MessageBox.Show("目录不存在或非法目录!"); }
            }
            else
            {
                MessageBox.Show("请输入要删除的目录!");
                this.textBox2.Focus();
            }
        }
        //”移动”的Click事件的代码
        private void button3_Click(object sender, EventArgs e)
        {
            string srcpath = textBox3.Text;
            string destpath = textBox4.Text;
            if (srcpath == "" || destpath == "")
            { MessageBox.Show("请输入要移动的源目录与目的目录路径!"); }
            else
            {
                if (Directory.Exists(@srcpath))
                {
                    if (!Directory.Exists(@destpath))
                    {
                        DirectoryInfo dir = new DirectoryInfo(@srcpath);
                        dir.MoveTo(@destpath);
                    }
                    else
                    { MessageBox.Show("目的目录已存在!"); }
                }
                else
                { MessageBox.Show("源目录不存在!"); }
            }
        }
        //”子目录”的Click事件的代码
        private void button4_Click(object sender, EventArgs e)
        {
            string detailpath = textBox5.Text;
            richTextBox1.Clear();
            if (Directory.Exists(@detailpath))
            {
                string[] dir = Directory.GetDirectories(@detailpath);
                foreach (string adir in dir)
                { richTextBox1.AppendText(adir + '\n'); }
            }
            else
            { MessageBox.Show("目录不存在!"); }
        }
        //”获取文件”的Click事件的代码
        private void button5_Click(object sender, EventArgs e)
        {
            string detailpath = textBox5.Text;
            richTextBox2.Clear();
            if (Directory.Exists(@detailpath))
            {
                string[] files = Directory.GetFiles(@detailpath);
                foreach (string afile in files)
                    richTextBox2.AppendText(afile + '\n');
            }
            else
                MessageBox.Show("目录不存在!");
        }
    }
}

4. 执行效果 

猜你喜欢

转载自blog.csdn.net/qq_45037155/article/details/124313039