zoukankan      html  css  js  c++  java
  • 步步为营-16-资料管理器

    说明:涉及到知识点:TreeView控件,递归调用,

    1 先把架子搭起来

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace 资料管理
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //1获取文件路径
                string path = @"E:Java开发实战经典";
                //2加载文件目录
                LoadFileName(path, TV.Nodes);
            }
    
            private void LoadFileName(string path,TreeNodeCollection tn)
            {
                //3根据传来的路径获取文件夹名--此时获取的是路径全名
                string[] directories = Directory.GetDirectories(path);
                //4 获取文件名
                string[] files = Directory.GetFiles(path);
    
                TreeNode tc;
                foreach (string item in directories)
                {
                    //5获取文件夹名
                    string directoriesNames = Path.GetFileName(item);
                    tc= tn.Add(directoriesNames);
                    LoadFileName(item,tc.Nodes);
                }
                foreach (string item in files)
                {
                    //6获取文件名
                    string fileNames = Path.GetFileName(item);
                    tc=tn.Add(fileNames);
                }
            }
        }
    }
    View Code

    2 当点击某个文件时,对文件进行操作

      private void TVNodeClick(object sender, TreeNodeMouseClickEventArgs e)
            {
                //如果点击文件夹,是没有效果的
                if (TV.SelectedNode.Tag!=null)
                {
                    string filePath = TV.SelectedNode.Tag.ToString();
                    textBox1.Text = File.ReadAllText(filePath, Encoding.Default);
                }
            } 
    View Code

    3 进一步对文件进行修改

            private void btnSave_Click(object sender, EventArgs e)
            {
                string filePath = TV.SelectedNode.Tag.ToString();
                string fileType = Path.GetExtension(filePath);
                if (!fileType.Contains("txt"))
                {
                    MessageBox.Show("只能修改txt文本文件");
                }
                else
                {
                    File.WriteAllText(filePath, textBox1.Text, Encoding.UTF8);
                    MessageBox.Show("文件修改成功!");
                }
    
            } 
    View Code

  • 相关阅读:
    利用Linux系统生成随机密码的8种方法
    go语言中ASCII&unicode&utf8由来
    go语言指针
    js设计模式=封装
    python中urllib.request对象案例
    php实现jwt
    python错误捕获练习
    python多线程
    python多进程练习
    http三次握手,四次挥手
  • 原文地址:https://www.cnblogs.com/YK2012/p/6719120.html
Copyright © 2011-2022 走看看