Window form “window explorer” emulator


Hướng dẫn sử dụng listview và treeview trên window form

Trong bài này tổi hướng dẫn các bạn sử dụng form để liệt kê hệ thống tập tin và thư mục trên một máy tính

  1. Sử dụng listview hiển thị danh sách tập tin
  2. Sử dụng treeview hiển thị cây thư mục
  3. Sử dụng lớp Directory, Path và File của C# để dò tim hệ thống tập tin thư mục

Hình demo

ListView TreeView Window Explorer
ListView TreeView Window Explorer

Đăng ký sự kiện chọn node trên cây thư mục

this.treeView1.BeforeSelect += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView1_BeforeSelect);

Sử dụng sự kiện load của form để lấy ds ổ đĩa

Sử dụng sự kiện BeforeSelect của treeView để gán thư mục con và file vào listview

private void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
	try
	{
		if (e.Node.Text == "My Computer") return;

		// thêm vào treeview
		e.Node.Nodes.Clear();
		string fullpath = e.Node.Text;
		TreeNode _node = e.Node.Parent;
		while (_node.Parent != null)
		{
			if (_node.Parent.Text == "My Computer")
			{
				fullpath = _node.Text + fullpath;
				break;
			}
			else
				fullpath = _node.Text + "\\" + fullpath;

			_node = _node.Parent;
		}

		string[] folders = Directory.GetDirectories(fullpath);
		foreach (string var in folders)
		{
			string[] fs = var.Split('\\');
			// Thêm node vào treeview
			TreeNode node = new TreeNode(fs[fs.Length - 1]);
			node.Text = fs[fs.Length - 1];
			node.ImageIndex = 1;
			node.SelectedImageIndex = 2;

			e.Node.Nodes.Add(node);
		}

		// thêm vào view
		listView1.Items.Clear();
		string[] files = Directory.GetFiles(fullpath);
		foreach (string var in files)
		{
			// thêm vào view
			ListViewItem item = new ListViewItem(Path.GetFileName(var), 0);
			item.SubItems.Add(File.GetCreationTime(var).ToLongDateString());
			string[] type = var.Split('.');
			item.SubItems.Add(type[type.Length - 1] + " file type");

			listView1.Items.Add(item);
		}
	}
	catch
	{
	}
}

Download source ở đây

Advertisements

4 thoughts on “Window form “window explorer” emulator

Phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s