• 步步为营-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

  • 相关阅读:
    很好用的DBHelper类
    .net连接SAP的几种方式
    使用API管理平台的优势
    ASP.NET 2.0中的登陆控件简介
    asp.net 1.1/ 2.0 中快速实现单点登陆
    ASP.NET 2.0 成员资格和角色管理授权
    SqlDataSource 调用带参数的存储过程
    Asp.net中基于Forms验证的角色验证授权
    解释:ASP.NET 2.0 中的窗体身份验证
    SQL JOIN 的用法
  • 原文地址:https://www.cnblogs.com/YK2012/p/6719120.html
Copyright © 2020-2023  润新知