使用Windows Form 制作一个简易资源管理器

自制一个简易资源管理器----TreeView控件

  第一步、新建project,进行基本设置;(Set as StartUp Project;View/Toolbox/TreeView)

  

    第二步、开始添加节点

  添加命名空间using System.IO;    

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using System.IO;
11 
12 namespace _ResouceManager_
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19         }
20 
21         private void Form1_Load(object sender, EventArgs e)
22         {
23             //这里是资源管理器的根路径
24             string strRoot = @"H:\自制资源管理器";//路径
25             CreateParent(strRoot);
26         }
27 
28         private void CreateParent(string strRoot)
29         {
30             //创建根节点parent
31             TreeNode parent = new TreeNode();
32             DirectoryInfo di=new DirectoryInfo(strRoot);
33             parent.Text= di.Name ;
34             parent.Tag = di.FullName;
35 
36             //添加父节点
37             tvResouceManager.Nodes.Add(parent);
38 
39             //创建子节点
40             CreateChild(strRoot,parent);
41             //展开所有节点
42             parent.ExpandAll();
43 
44         }
45 
46         private void CreateChild(string path,TreeNode parent )
47         {
48             DirectoryInfo di = new DirectoryInfo(path);
49             //所有的子文件夹
50             DirectoryInfo[] dirs = di.GetDirectories();
51             //遍历子文件夹
52             foreach(DirectoryInfo dir in dirs)
53             {
54                 //创建子节点
55                 TreeNode child = new TreeNode();
56                 child.Text = dir.Name;
57                 //child.Tag = dir.FullName;
58 
59                 //添加子节点
60                 parent.Nodes.Add(child);
61 
62                 //递归实现多级文件夹的遍历、创建子节点、添加子节点
63                 CreateChild(dir.FullName,child);
64 
65                 //添加文件节点
66                 CreateFile(dir.FullName,child);                
67             }
68         }
69 
70         private void CreateFile(string p, TreeNode child)
71         {
72             DirectoryInfo di = new DirectoryInfo(p);
73             //路径下的所有文件
74             FileInfo[] files = di.GetFiles();
75             //添加路径下的所有文件
76             foreach(FileInfo file in files)
77             {
78                 //创建节点
79                 TreeNode tn = new TreeNode();
80                 tn.Text = file.Name;
81                // tn.Tag = file.FullName;
82 
83                 //添加节点
84                 child.Nodes.Add(tn);
85             }
86         }
87 
88     }
89 }
View Code

 

  这里基本上完成了目录添加,尚不能增加文件、删除文件、移动文件等操作,还需继续努力。

 

  右边是两个文本框,可以进行文本的编辑等(代码不全)。

  首先在左边的treeview中点击某个节点,进行判断点击的是哪个节点,如果是.doc或者是.txt就可以编辑(其他文件类型如PDF之类可以自己写代码哦)。

  先将上述代码中关于.Tag的注释取消

  

 1   private void tvResouceManager_AfterSelect(object sender, TreeViewEventArgs e)
 2         {
 3             if (e.Node.Tag == null) return;
 4             string path = e.Node.Tag.ToString();
 5             if(path.LastIndexOf(".doc")>0)
 6             {
 7                 //如果点击的是.doc文档,将标题写入上文本框
 8                 txtTitle.Text = Path.GetFileNameWithoutExtension(e.Node.Text);
 9                 //文档内容写入下文本框,并使用指定的编码规则进行读文本操作
10                 //txtContent.Text = File.ReadAllText(path,Encoding.GetEncoding("utf-8"));
11                 txtContent.Text = File.ReadAllText(path, Encoding.Default);
12             }
13 
14         }
15 
16         private void btnSave_Click(object sender, EventArgs e)
17         {
18             if (tvResouceManager.SelectedNode == null) return;
19             if (tvResouceManager.SelectedNode.Tag == null) return;
20 
21             string path = tvResouceManager.SelectedNode.Tag.ToString();
22 
23             if (path.LastIndexOf(".doc") > 0)
24             {
25                 string content = txtContent.Text;
26                 File.WriteAllText(path, content, Encoding.Default);
27 
28                 MessageBox.Show("Save Successed");
29               
30             }
31         }
View Code

 

 

 

  

 

转载于:https://www.cnblogs.com/5696-an/p/4999300.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用VSCode开发Java的简易登录网站,你可以按照以下步骤进行操作: 1. 确保你的电脑已经安装了Java开发环境(JDK)和VSCode编辑器。 2. 打开VSCode,并创建一个新的Java项目文件夹。 3. 在项目文件夹中创建一个名为`LoginWebsite.java`的Java源文件。 4. 在`LoginWebsite.java`中编写代码来创建一个简单的登录网站。以下是一个简单的示例代码: ```java import java.io.*; import java.net.*; import java.util.*; public class LoginWebsite { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); System.out.println("服务器已启动,监听端口:8080"); while (true) { Socket socket = serverSocket.accept(); System.out.println("收到新连接:" + socket.toString()); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); String request = reader.readLine(); System.out.println("收到请求:" + request); PrintWriter writer = new PrintWriter(socket.getOutputStream()); writer.println("HTTP/1.1 200 OK"); writer.println("Content-Type: text/html; charset=utf-8"); writer.println(); writer.println("<html><body>"); writer.println("<h1>欢迎登录</h1>"); writer.println("<form method='post' action='/login'>"); writer.println("用户名:<input type='text' name='username'><br>"); writer.println("密码:<input type='password' name='password'><br>"); writer.println("<input type='submit' value='登录'>"); writer.println("</form>"); writer.println("</body></html>"); writer.flush(); socket.close(); System.out.println("连接已关闭:" + socket.toString()); } } } ``` 5. 保存并运行`LoginWebsite.java`文件。你可以使用Java的扩展插件来运行Java代码,或者在终端中使用命令`java LoginWebsite`来运行。 6. 打开浏览器,访问`http://localhost:8080`,你应该能看到一个简单的登录网页。 请注意,这只是一个简单的示例代码,仅用于演示如何在VSCode中使用Java创建一个简易的登录网站。实际的登录网站会涉及到更多的功能和安全性考虑,比如用户验证、数据库操作等。这里的示例代码仅用于帮助你入门和理解基本概念。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值