亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? explorercontrol.cs

?? 本文我將向你展示一些技巧
?? CS
字號:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Management;
using System.Globalization;

namespace ExplorerControlLibrary
{
	/// <summary>
	/// Explorer control.
	/// </summary>
	public class ExplorerControl : System.Windows.Forms.UserControl
	{
		private System.Windows.Forms.TreeView tvFolders;
		private System.Windows.Forms.Splitter splitter1;
		private System.Windows.Forms.ListView lvFiles;
		private System.Windows.Forms.ImageList m_imageListTreeView;
		private System.ComponentModel.IContainer components;

		//delegate status event
		public delegate void Status(string e);
		public event Status UpdateStatus;

		public ExplorerControl()
		{
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

			// Populate TreeView with Drive list
			PopulateDriveList();

		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if( components != null )
					components.Dispose();
			}
			base.Dispose( disposing );
		}

		#region Component Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify 
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.components = new System.ComponentModel.Container();
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ExplorerControl));
			this.tvFolders = new System.Windows.Forms.TreeView();
			this.m_imageListTreeView = new System.Windows.Forms.ImageList(this.components);
			this.splitter1 = new System.Windows.Forms.Splitter();
			this.lvFiles = new System.Windows.Forms.ListView();
			this.SuspendLayout();
			// 
			// tvFolders
			// 
			this.tvFolders.Dock = System.Windows.Forms.DockStyle.Left;
			this.tvFolders.ImageList = this.m_imageListTreeView;
			this.tvFolders.Name = "tvFolders";
			this.tvFolders.Size = new System.Drawing.Size(136, 416);
			this.tvFolders.TabIndex = 0;
			this.tvFolders.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvFolders_AfterSelect);
			// 
			// m_imageListTreeView
			// 
			this.m_imageListTreeView.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
			this.m_imageListTreeView.ImageSize = new System.Drawing.Size(16, 16);
			this.m_imageListTreeView.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("m_imageListTreeView.ImageStream")));
			this.m_imageListTreeView.TransparentColor = System.Drawing.Color.Transparent;
			// 
			// splitter1
			// 
			this.splitter1.Location = new System.Drawing.Point(136, 0);
			this.splitter1.Name = "splitter1";
			this.splitter1.Size = new System.Drawing.Size(3, 416);
			this.splitter1.TabIndex = 1;
			this.splitter1.TabStop = false;
			// 
			// lvFiles
			// 
			this.lvFiles.Dock = System.Windows.Forms.DockStyle.Fill;
			this.lvFiles.Location = new System.Drawing.Point(139, 0);
			this.lvFiles.Name = "lvFiles";
			this.lvFiles.Size = new System.Drawing.Size(525, 416);
			this.lvFiles.TabIndex = 2;
			this.lvFiles.View = System.Windows.Forms.View.Details;
			// 
			// ExplorerControl
			// 
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.lvFiles,
																		  this.splitter1,
																		  this.tvFolders});
			this.Name = "ExplorerControl";
			this.Size = new System.Drawing.Size(664, 416);
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// This procedure populate the TreeView with the Drive list
		/// </summary>
		private void PopulateDriveList()
		{
			TreeNode nodeTreeNode;
			int imageIndex = 0;
			int selectIndex = 0;

			const int Removable = 2;
			const int LocalDisk = 3;
			const int Network = 4;
			const int CD = 5;
			//const int RAMDrive = 6;
			
			this.Cursor = Cursors.WaitCursor;
			//clear TreeView
			tvFolders.Nodes.Clear();
			nodeTreeNode = new TreeNode("My Computer",0,0);
			tvFolders.Nodes.Add(nodeTreeNode);

			//set node collection
			TreeNodeCollection nodeCollection = nodeTreeNode.Nodes;

			//Get Drive list
			ManagementObjectCollection queryCollection = getDrives();
			foreach ( ManagementObject mo in queryCollection)
			{
			
				switch (int.Parse( mo["DriveType"].ToString()))
				{
					case Removable:			//removable drives
						imageIndex = 5;
						selectIndex = 5;
						break;
					case LocalDisk:			//Local drives
						imageIndex = 6;
						selectIndex = 6;
						break;
					case CD:				//CD rom drives
						imageIndex = 7;
						selectIndex = 7;
						break;
					case Network:			//Network drives
						imageIndex = 8;
						selectIndex = 8;
						break;
					default:				//defalut to folder
						imageIndex = 2;
						selectIndex = 3;
						break;
				}
				//create new drive node
				nodeTreeNode = new TreeNode(mo["Name"].ToString() + "\\" ,imageIndex,selectIndex);

				//add new node
				nodeCollection.Add(nodeTreeNode);

			}
			

			//Init files ListView
			InitListView();

			this.Cursor = Cursors.Default;

		}

		private void tvFolders_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
		{
			//Populate folders and files when a folder is selected
			this.Cursor = Cursors.WaitCursor;

			//get current selected drive or folder
			TreeNode nodeCurrent = e.Node;

			//clear all sub-folders
			nodeCurrent.Nodes.Clear();

			if (nodeCurrent.SelectedImageIndex == 0) 
			{
				//Selected My Computer - repopulate drive list
				updateStatus("Refresh drive list...");
				PopulateDriveList();
				updateStatus("Ready");
			}
			else 
			{
				//populate sub-folders and folder files
				updateStatus("Getting directory information...");
				PopulateDirectory(nodeCurrent, nodeCurrent.Nodes);
				updateStatus("Ready");
			}
			this.Cursor = Cursors.Default;
		}
		
		protected void InitListView()
		{
			//init ListView control
			lvFiles.Clear();		//clear control
			//create column header for ListView
			lvFiles.Columns.Add("Name",150,System.Windows.Forms.HorizontalAlignment.Left);
			lvFiles.Columns.Add("Size",75, System.Windows.Forms.HorizontalAlignment.Right);
			lvFiles.Columns.Add("Created", 140, System.Windows.Forms.HorizontalAlignment.Left);
			lvFiles.Columns.Add("Modified", 140, System.Windows.Forms.HorizontalAlignment.Left);

		}

		protected void PopulateDirectory(TreeNode nodeCurrent, TreeNodeCollection nodeCurrentCollection)
		{
			TreeNode nodeDir;
			int imageIndex = 2;		//unselected image index
			int selectIndex = 3;	//selected image index

			if (nodeCurrent.SelectedImageIndex != 0) 
			{
				//populate treeview with folders
				try
				{
					//check path
					if(Directory.Exists(getFullPath(nodeCurrent.FullPath)) == false)
					{
						MessageBox.Show("Directory or path " + nodeCurrent.ToString() + " does not exist.");
					}
					else
					{
						//populate files
						PopulateFiles(nodeCurrent);

						string[] stringDirectories = Directory.GetDirectories(getFullPath(nodeCurrent.FullPath));
						string stringFullPath = "";
						string stringPathName = "";

						//loop throught all directories
						foreach (string stringDir in stringDirectories)
						{
							stringFullPath = stringDir;
							stringPathName = GetPathName(stringFullPath);
							
							//create node for directories
							nodeDir = new TreeNode(stringPathName.ToString(),imageIndex,selectIndex);
							nodeCurrentCollection.Add(nodeDir);
						}

						//expand tree node
						nodeCurrent.ExpandAll();
					}
				}
				catch (IOException)
				{
					MessageBox.Show("Error: Drive not ready or directory does not exist.");
				}
				catch (UnauthorizedAccessException)
				{
					MessageBox.Show("Error: Drive or directory access denided.");
				}
				catch (Exception e)
				{
					MessageBox.Show("Error: " + e);
				}
			}
		}

		/// <summary>
		/// Get path
		/// </summary>
		/// <param name="stringPath"></param>
		/// <returns></returns>
		
		protected string GetPathName(string stringPath)
		{
			//Get Name of folder
			string[] stringSplit = stringPath.Split('\\');
			int _maxIndex = stringSplit.Length;
			return stringSplit[_maxIndex-1];
		}

		/// <summary>
		/// Populate files info into listview
		/// </summary>
		/// <param name="nodeCurrent"></param>
		protected void PopulateFiles(TreeNode nodeCurrent)
		{
			//Populate listview with files
			string[] lvData =  new string[4];
			
			//update status
			updateStatus("Getting directory files...");

			//clear list
			InitListView();

			if (nodeCurrent.SelectedImageIndex != 0) 
			{
				//check path
				if(Directory.Exists((string) getFullPath(nodeCurrent.FullPath)) == false)
				{
					MessageBox.Show("Directory or path " + nodeCurrent.ToString() + " does not exist.");
				}
				else
				{
					try
					{
						string[] stringFiles = Directory.GetFiles(getFullPath(nodeCurrent.FullPath));
						string stringFileName = "";
						DateTime dtCreateDate, dtModifyDate;
						Int64 lFileSize = 0;

						//loop throught all files
						foreach (string stringFile in stringFiles)
						{
							stringFileName = stringFile;
							FileInfo objFileSize = new FileInfo(stringFileName);
							lFileSize = objFileSize.Length;
							dtCreateDate = objFileSize.CreationTime; //GetCreationTime(stringFileName);
							dtModifyDate = objFileSize.LastWriteTime; //GetLastWriteTime(stringFileName);

							//create listview data
							lvData[0] = GetPathName(stringFileName);
							lvData[1] = formatSize(lFileSize);

							//check if this machine have Day light saving time set
							if (TimeZone.CurrentTimeZone.IsDaylightSavingTime(DateTime.Now) == true)
							{
								//check if file is in local current day light saving time
								if (TimeZone.CurrentTimeZone.IsDaylightSavingTime(dtCreateDate) == false)
								{
									//not in day light saving time adjust time
									lvData[2] = formatDate(dtCreateDate.AddHours(1));
								}
								else
								{
									//is in day light saving time adjust time
									lvData[2] = formatDate(dtCreateDate);
								}

								//check if file is in local current day light saving time
								if (TimeZone.CurrentTimeZone.IsDaylightSavingTime(dtModifyDate) == false)
								{
									//not in day light saving time adjust time
									lvData[3] = formatDate(dtModifyDate.AddHours(1));
								}
								else							
								{
									//not in day light saving time adjust time
									lvData[3] = formatDate(dtModifyDate);
								}
							}
							else
							{
								//machine Day Light Saving Time not set
								lvData[2] = formatDate(dtCreateDate);
								lvData[3] = formatDate(dtModifyDate);
							}
							//Create actual list item
							ListViewItem lvItem = new ListViewItem(lvData,0);
							lvFiles.Items.Add(lvItem);
					
						}
					}
					catch (IOException)
					{
						MessageBox.Show("Error: Drive not ready or directory does not exist.");
					}
					catch (UnauthorizedAccessException)
					{
						MessageBox.Show("Error: Drive or directory access denided.");
					}
					catch (Exception e)
					{
						MessageBox.Show("Error: " + e);
					}
				}
			}

			//update status
			updateStatus("Ready");
		}

		/// <summary>
		/// Get full path
		/// </summary>
		/// <param name="stringPath"></param>
		/// <returns>stringParse</returns>
		protected string getFullPath(string stringPath)
		{
			//Get Full path
			string stringParse = "";
			//remove My Computer from path.
			stringParse = stringPath.Replace("My Computer\\", "");

			return stringParse;
		}
		
		/// <summary>
		/// Get drive collection
		/// </summary>
		/// <returns>queryCollection</returns>
		protected ManagementObjectCollection getDrives()
		{
			//get drive collection
			ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * From Win32_LogicalDisk ");
			ManagementObjectCollection queryCollection = query.Get();
			
			return queryCollection;
		}

		/// <summary>
		/// Date format
		/// </summary>
		/// <param name="dtDate"></param>
		/// <returns>stringDate</returns>
		protected string formatDate(DateTime dtDate)
		{
			//Get date and time in short format
			string stringDate = "";

			stringDate = dtDate.ToShortDateString().ToString() + " " + dtDate.ToShortTimeString().ToString();

			return stringDate;
		}

		/// <summary>
		/// Format number to KB
		/// </summary>
		/// <param name="lSize"></param>
		/// <returns>stringSize + " KB"</returns>
		protected string formatSize(Int64 lSize)
		{
			//Format number to KB
			string stringSize = "";
			NumberFormatInfo myNfi = new NumberFormatInfo();

			Int64 lKBSize = 0;

			if (lSize < 1024 ) 
			{
				if (lSize == 0) 
				{
					//zero byte
					stringSize = "0";
				}
				else 
				{
					//less than 1K but not zero byte
					stringSize = "1";
				}
			}
			else 
			{
				//convert to KB
				lKBSize = lSize / 1024;
				//format number with default format
				stringSize = lKBSize.ToString("n",myNfi);
				//remove decimal
				stringSize = stringSize.Replace(".00", "");
			}

			return stringSize + " KB";

		}

		/// <summary>
		/// status event
		/// </summary>
		/// <param name="stringStatus"></param>
		private void updateStatus(string stringStatus)
		{
			if (UpdateStatus != null)
				UpdateStatus(stringStatus );
		}

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区 在线观看视频| 人人狠狠综合久久亚洲| 亚洲国产精品99久久久久久久久 | 91小视频免费观看| 成人app下载| 色综合婷婷久久| 色婷婷精品久久二区二区蜜臂av| 欧美无乱码久久久免费午夜一区| 欧美电影一区二区| 欧美一区二区视频在线观看2020| 欧美一区二区三区视频免费 | 国产制服丝袜一区| 99久久亚洲一区二区三区青草| 91福利国产精品| 日韩欧美一级精品久久| 久久久精品影视| 亚洲精品亚洲人成人网在线播放| 五月婷婷综合在线| 成人性生交大片免费看视频在线| 国产成人精品亚洲777人妖| 色女孩综合影院| 欧美变态tickling挠脚心| 亚洲欧洲日韩综合一区二区| 蜜臀a∨国产成人精品| 成人av午夜影院| 欧美亚洲日本国产| 亚洲精品在线观| 日韩1区2区日韩1区2区| 99久久婷婷国产综合精品电影| 2021国产精品久久精品| 亚洲一区二区av在线| 777奇米四色成人影色区| 国产精品久久久久三级| 午夜视黄欧洲亚洲| 欧美日韩在线播| 日韩主播视频在线| 日韩欧美成人午夜| 中文字幕乱码久久午夜不卡 | 7777精品伊人久久久大香线蕉超级流畅| 欧美一区二区三区四区久久| 国产精品美女久久久久av爽李琼| 午夜欧美大尺度福利影院在线看| 激情五月婷婷综合网| 日韩欧美国产综合| 一区二区三区视频在线观看| 色婷婷综合久色| 亚洲欧美偷拍另类a∨色屁股| www.日韩精品| 国产午夜精品久久久久久久 | 五月婷婷久久丁香| 欧美色图激情小说| 亚洲高清在线精品| 7777精品伊人久久久大香线蕉| 麻豆一区二区三| 久久综合狠狠综合| 91色.com| 中文字幕在线不卡| 在线观看91视频| 国产成人av电影在线播放| 午夜伊人狠狠久久| 国产精品家庭影院| 国产99久久久久| 亚洲精品国产视频| 日韩一级完整毛片| 粉嫩久久99精品久久久久久夜| 国产精品久久久久影院老司| 91丨国产丨九色丨pron| 亚洲黄网站在线观看| 日韩欧美国产一区二区在线播放| 国产精品1024久久| 亚洲成av人片在线观看| 91精品国产丝袜白色高跟鞋| 国产米奇在线777精品观看| 国产欧美日韩卡一| 久久久www成人免费毛片麻豆| 久久综合九色综合久久久精品综合| jlzzjlzz欧美大全| 亚洲成人777| 国产视频一区二区三区在线观看| 欧美体内she精视频| 免费成人av在线播放| 日韩毛片视频在线看| 欧美一区二区视频在线观看2020 | 亚洲综合丝袜美腿| 国产精品初高中害羞小美女文| 26uuu亚洲综合色| 国产亚洲1区2区3区| 欧美激情在线免费观看| 国产精品亲子伦对白| 自拍av一区二区三区| 亚洲欧美另类在线| 香蕉av福利精品导航| 国内外成人在线| 视频在线观看一区二区三区| 日韩精品亚洲一区二区三区免费| 亚洲欧美日韩国产成人精品影院| 亚洲欧洲无码一区二区三区| 国产精品色哟哟| 亚洲精品高清视频在线观看| 一区二区三区四区不卡在线| 一区二区三区国产豹纹内裤在线| 亚洲一区自拍偷拍| 午夜天堂影视香蕉久久| 青青草91视频| 成人免费视频一区| 色综合久久久久网| 欧美日韩aaaaa| 久久久三级国产网站| 18成人在线视频| 亚洲一区二区视频在线观看| 日本v片在线高清不卡在线观看| 蜜桃视频第一区免费观看| 九九精品一区二区| 久久狠狠亚洲综合| 99re视频精品| 欧美军同video69gay| 久久日韩精品一区二区五区| 一区二区三区视频在线看| 全部av―极品视觉盛宴亚洲| 成人精品免费视频| 欧美成人免费网站| 亚洲人成精品久久久久久 | 一区二区三区四区视频精品免费| 免费在线看一区| 一本色道亚洲精品aⅴ| 久久伊人蜜桃av一区二区| 亚洲综合小说图片| 国产一区二区三区精品欧美日韩一区二区三区 | 精品三级在线看| 亚洲人成网站影音先锋播放| 激情五月播播久久久精品| 欧美图片一区二区三区| 国产精品福利影院| 亚洲第一电影网| 欧美日韩国产精品自在自线| 欧美不卡在线视频| 日韩国产一二三区| 欧美日韩黄色一区二区| 亚洲精品水蜜桃| 色哟哟国产精品免费观看| 日本一区二区三区免费乱视频| 国产在线精品一区在线观看麻豆| 欧美精品xxxxbbbb| 亚洲成在线观看| 欧美日韩国产乱码电影| 亚洲一卡二卡三卡四卡| 欧美熟乱第一页| 亚洲成av人在线观看| 欧美美女一区二区三区| 日韩av中文在线观看| 666欧美在线视频| 99久久伊人久久99| 中文字幕一区二区三区不卡在线 | 国产日韩精品久久久| 国产成人综合亚洲网站| 国产欧美一区二区精品性| 福利一区在线观看| 亚洲欧洲日韩女同| 欧美日韩在线播放三区四区| 午夜伦欧美伦电影理论片| 欧美日韩日日骚| 久久99国产精品久久99| 国产亚洲短视频| 色综合欧美在线| 丝袜亚洲另类丝袜在线| 2022国产精品视频| 91麻豆成人久久精品二区三区| 亚洲va韩国va欧美va| 久久综合九色综合97_久久久| 波多野结衣91| 日本中文字幕一区二区视频 | 亚洲成人动漫在线观看| 日韩欧美aaaaaa| 91黄视频在线观看| 韩国女主播一区| 伊人开心综合网| 欧美国产国产综合| 91精品国产综合久久香蕉的特点| 成人深夜福利app| 久久激五月天综合精品| 日韩毛片在线免费观看| 精品成人在线观看| 欧美在线观看18| 99国产精品国产精品久久| 国产综合色产在线精品| 亚洲国产日韩在线一区模特| 国产午夜精品一区二区三区视频| 欧美日韩亚洲综合| 91丨porny丨在线| 成人免费av在线| 国产大陆精品国产| 国产一区二区三区在线观看免费视频| 亚洲视频 欧洲视频| 国产日产精品一区| 欧美精品一区二区久久久| 欧美剧情片在线观看| 欧美天堂一区二区三区| 欧美色欧美亚洲另类二区| 91激情五月电影| 在线观看视频欧美|