📄 treeview.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 + -