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

📄 treeview.cs

📁 记事本的小程序
💻 CS
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;


namespace notepad
{
	/// <summary>
	/// Treeview 的摘要说明。
	/// </summary>
	public class Treeview : System.Windows.Forms.Form
	{
		private System.Windows.Forms.MainMenu mainTree;
		private System.Windows.Forms.MenuItem menuItem1;
		private System.Windows.Forms.ListView listView1;
		private System.Windows.Forms.ImageList imageList1;
		private System.Windows.Forms.MenuItem menuItem2;
		private System.Windows.Forms.MenuItem menuItem3;
		private System.Windows.Forms.MenuItem menuItem4;
		private string path = "\\";
	
		public Treeview()
		{
			//
			// Windows 窗体设计器支持所必需的
			//
			InitializeComponent();

			//
			// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
			//
			this.Text = "请选择文件";
			listView1.SmallImageList = this.imageList1;
			listView1.SmallImageList.ImageSize = new Size(16, 16);
			GetList();
		}

		/// <summary>
		/// 清理所有正在使用的资源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			base.Dispose( disposing );
		}

		#region Windows 窗体设计器生成的代码
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Treeview));
			this.mainTree = new System.Windows.Forms.MainMenu();
			this.menuItem1 = new System.Windows.Forms.MenuItem();
			this.menuItem2 = new System.Windows.Forms.MenuItem();
			this.listView1 = new System.Windows.Forms.ListView();
			this.imageList1 = new System.Windows.Forms.ImageList();
			this.menuItem3 = new System.Windows.Forms.MenuItem();
			this.menuItem4 = new System.Windows.Forms.MenuItem();
			// 
			// mainTree
			// 
			this.mainTree.MenuItems.Add(this.menuItem1);
			this.mainTree.MenuItems.Add(this.menuItem2);
			// 
			// menuItem1
			// 
			this.menuItem1.Text = "选择";
			this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
			// 
			// menuItem2
			// 
			this.menuItem2.MenuItems.Add(this.menuItem4);
			this.menuItem2.MenuItems.Add(this.menuItem3);
			this.menuItem2.Text = "操作";
			// 
			// listView1
			// 
			this.listView1.FullRowSelect = true;
			this.listView1.View = System.Windows.Forms.View.Details;
			this.listView1.ItemActivate += new System.EventHandler(this.listView1_ItemActivate);
			// 
			// imageList1
			// 
			this.imageList1.Images.Add(((System.Drawing.Image)(resources.GetObject("resource"))));
			this.imageList1.Images.Add(((System.Drawing.Image)(resources.GetObject("resource1"))));
			this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
			// 
			// menuItem3
			// 
			this.menuItem3.Text = "取消";
			this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
			// 
			// menuItem4
			// 
			this.menuItem4.Text = "删除";
			this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
			// 
			// Treeview
			// 
			this.Controls.Add(this.listView1);
			this.Menu = this.mainTree;
			this.Text = "Treeview";

		}
		#endregion

		private void GetList()
		{
			listView1.Clear();
			listView1.Columns.Add(path, listView1.Size.Width, HorizontalAlignment.Left);

			// Add the list view items
			DirectoryInfo dir = new DirectoryInfo(path);
			if(path!="\\")
			{
				ListViewItem item = new ListViewItem("..");
				item.ImageIndex = 0;
				listView1.Items.Add(item);
			}
			foreach (DirectoryInfo f in dir.GetDirectories()) 
			{
				String name = f.Name;
				ListViewItem item = new ListViewItem(name);
				item.ImageIndex = 0;
				listView1.Items.Add(item);
			}
			foreach (FileInfo f in dir.GetFiles("*.txt")) 
			{
				String name = f.Name;
				ListViewItem item = new ListViewItem(name);
				item.ImageIndex = 1;
				listView1.Items.Add(item);
			}
		}

		private void listView1_ItemActivate(object sender, System.EventArgs e)
		{
			DirDecide();
		}

		private void menuItem1_Click(object sender, System.EventArgs e)
		{
			DirDecide();
		}

		private void DirDecide()
		{
			if(listView1.FocusedItem!=null)
			{
				string newstr = listView1.FocusedItem.Text;
				if(newstr=="..")
				{
					path = path.Substring(0,(path.LastIndexOf("\\")));
					path = path.Substring(0,path.LastIndexOf("\\")+1);
					GetList();
				}
				else if(newstr.IndexOf(".txt")==-1&&newstr.IndexOf(".TXT")==-1)
				{
					path += newstr+"\\";
					GetList();
				}
				else
				{
					Start start = new Start(path,listView1.FocusedItem.Text);
					start.Show();
					this.Close();
				}
			}
		}

		private void menuItem3_Click(object sender, System.EventArgs e)
		{
			this.Close();
		}

		private void menuItem4_Click(object sender, System.EventArgs e)
		{
			if(listView1.FocusedItem.Text.IndexOf(".txt")==-1&&listView1.FocusedItem.Text.IndexOf(".TXT")==-1)
			{
				MessageBox.Show("您不可以删除目录!", this.Text,
					MessageBoxButtons.OK, MessageBoxIcon.Asterisk,
					MessageBoxDefaultButton.Button2);
			}
			else
			{
				if(MessageBox.Show("您确认要删除此文件吗?", this.Text,
					MessageBoxButtons.YesNo, MessageBoxIcon.Question,
					MessageBoxDefaultButton.Button2).ToString()=="Yes")
				{
					File.Delete(path+listView1.FocusedItem.Text);
				}
			}
			GetList();
		}

	}
}

⌨️ 快捷键说明

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