ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# 编写文件资源浏览器

2021-11-16 09:00:53  阅读:139  来源: 互联网

标签:listView1 浏览器 string C# aItem System using 编写 ListViewItem


使用C#创建Windows窗体程序,实现文件资源浏览

  1. 创建Windows窗体程序
  2. 将Form的Text属性设置为“简单的文件管理器”
  3. 在窗体上添加SplitContainer、TreeView、ListView控件
    • TreeView控件的Dock属性设置为Left

    • ListView控件的Dock属性设置为Fill,MultiSelect属性设置为False,View属性设置为List
  4. 窗体界面

 

源程序代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace sy4_1
{
    public partial class Form1 : Form
    {
        //Form1构造函数
        public Form1()
        {
            InitializeComponent();
            TreeNode myComputerNode = new TreeNode("我的电脑");
            treeView1.Nodes.Add(myComputerNode);
            listViewShow(myComputerNode);
        }

        //控制ListView控件显示
        private void listViewShow(TreeNode dirNode)
        {
            listView1.Clear();
            if (dirNode.Parent == null)
            {
                foreach (string DrvName in Directory.GetLogicalDrives())
                {
                    ListViewItem aItem = new ListViewItem(DrvName);
                    listView1.Items.Add(aItem);
                }
            }
            else
            {
                foreach (string DirName in Directory.GetDirectories((string)dirNode.Tag))
                {
                    ListViewItem aItem = new ListViewItem(DirName);
                    listView1.Items.Add(aItem);
                }
                foreach (string fileName in Directory.GetFiles((string)dirNode.Tag))
                {
                    ListViewItem aItem = new ListViewItem(fileName);
                    listView1.Items.Add(aItem);
                }
            }

        }

        //listViewShow方法重载
        private void listViewShow(string dirName) 
        {
            listView1.Clear();
            try
            {
                foreach (string DirName in Directory.GetDirectories(dirName))
                {
                    ListViewItem aItem = new ListViewItem(DirName);
                    listView1.Items.Add(aItem);
                }
                foreach (string fileName in Directory.GetFiles(dirName))
                {
                    ListViewItem aItem = new ListViewItem(fileName);
                    listView1.Items.Add(aItem);
                }
            }
            catch 
            {
            }
        }

        //控制TreeView控件显示
        private void DirTreeShow(TreeNode dirNode)
        {
            try
            {
                if (dirNode.Nodes.Count == 0)
                {
                    if (dirNode.Parent == null)
                    {
                        foreach (string DrvName in Directory.GetLogicalDrives())
                        {
                            TreeNode aNode = new TreeNode(DrvName);
                            aNode.Tag = DrvName;
                            dirNode.Nodes.Add(aNode);
                        }
                    }
                    else
                    {
                        foreach (string DirName in Directory.GetDirectories((string)dirNode.Tag))
                        {
                            TreeNode aNode = new TreeNode(DirName);
                            aNode.Tag = DirName;
                            dirNode.Nodes.Add(aNode);
                        }
                    }
                }
            }
            catch 
            {
            }
        }

        //TreeView控件点击事件
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            listViewShow(e.Node);
            DirTreeShow(e.Node);
        }


        //ListView双击事件
        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            foreach (int listIndex in listView1.SelectedIndices)
            {
                listViewShow(listView1.Items[listIndex].Text);
            }
        }

        //ListView单击事件
        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //foreach (int listIndex in listView1.SelectedIndices)
            //{
            //    listViewShow(listView1.Items[listIndex].Text);
            //}
        }
    }
}

 

标签:listView1,浏览器,string,C#,aItem,System,using,编写,ListViewItem
来源: https://www.cnblogs.com/Arisf/p/15559482.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有