⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 C#2.0宝典源码,C#经典书籍,很多例子
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

namespace FileProject
{
    public partial class frmMain : Form
    {
        private string m_Address = @"C:\Files";

        public frmMain()
        {
            InitializeComponent();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            FillList();
        }

        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim() == string.Empty) return; 			//若txtName文本框中的内容为空,则不进行任何操作    
            string m_Path = m_Address + @"\" + txtName.Text.Trim();	//生成所需创建文件的绝对路径    
            FileInfo m_FileInfo = new FileInfo(m_Path); 			//使用FileInfo类创建指定的文件
            m_FileInfo.Create();
            FillList();										//刷新【lstFile】列表,使其内容与指定文件夹中的内容保持同步
            return;
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (lstFile.SelectedItems.Count < 1) return;				//若lstFile中选中的内容为空,则不进行任何操作
            //使用foreach遍历指定选中的所有文件
            foreach (ListViewItem m_Item in lstFile.SelectedItems)
            {
                //生成所需创建文件的绝对路径并删除之
                string m_Path = m_Address + @"\" + m_Item.Text;
                File.Delete(m_Path);
            }
            FillList();										//刷新lstFile,使其内容与指定文件夹中的内容保持同步

            return;
        }

        private void btnRename_Click(object sender, EventArgs e)
        {
            //若lstFile中选中的文件个数不等于一,则不进行任何操作
            if (lstFile.SelectedItems.Count != 1) return;
            //生成原文件的绝对路径
            string m_PathOld = m_Address + @"\" + lstFile.SelectedItems[0].Text;
            //生成新文件的绝对路径
            string m_PathNew = m_Address + @"\" + txtName.Text.Trim();
            //判断当前目录下是否已存在同名文件
            if (File.Exists(m_PathNew))
            {
                MessageBox.Show("已存在同名文件!");
                return;
            }
            else
            {
                //重命名文件
                FileInfo m_FileInfo = new FileInfo(m_PathOld);
                m_FileInfo.MoveTo(m_PathNew);
                //刷新lstFile,使其内容与指定文件夹中的内容保持同步
                FillList();
                return;
            }
        }

        private void lstFile_DoubleClick(object sender, EventArgs e)
        {
            //若lstFile中选中的文件个数不等于一,则不进行任何操作
            if (lstFile.SelectedItems.Count != 1) return;
            //初始化一个Process类的实例
            Process m_Process = new Process();
            //生成所需打开文件的绝对路径并将其StartInfo的FileName属性设置为此路径
            string m_Path = m_Address + @"\" + lstFile.SelectedItems[0].Text;
            m_Process.StartInfo.FileName = m_Path;
            //尝试打开指定的文件并对异常进行处理
            try
            {
                m_Process.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return;
        }

        private void FillList()
        {
            lstFile.Clear();											//清楚lstFile的当前内容
            //使用foreach遍历指定路径下的所有文件
            foreach(string m_FileName in Directory.GetFiles(m_Address))
            {
                //对获得的文件名进行处理,使其只包含文件名和后缀名
                string m_Name = m_FileName.Substring(m_Address.Length + 1, m_FileName.Length - m_Address.Length - 1);
                
                ListViewItem m_Item = lstFile.Items.Add(m_Name); 			//将文件名显示到lstFile中
                m_Item.ImageIndex = 0; 								//设置ListViewItem的显示图标
           }
            return;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -