반응형
TreeView와 ListView 컨트롤을 이용하여 간단한 윈도움 탐색기 예제입니다.
메뉴추가 :
FrmMain - 공용컨트롤 - 간단한 윈도우탐색기
WinExplorer.Designer.cs |
private System.Windows.Forms.ListView listView; private System.Windows.Forms.TreeView treeView; |
ListView 속성 |
ListView속성 - Columns 설정 ListView속성 - View - Details 설정 |
TreeView 속성 |
추가한 TreeView 컨트롤 이벤트를 설정합니다. |
WinExplorer.cs |
using System.IO; //추가 파일관련 - 참조파일에서 추가 System.IO using System.Management; //추가 : 폴더목록 가져오기 위해 참조파일에서 추가 System.Management { DisplyData(); } //전체 폴더 목록을 TreeView에 출력 private void DisplyData() { this.treeView.Nodes.Add(new TreeNode("니 컴퓨터")); //1.루드 등록 var q = new ManagementObjectSearcher( "SELECT * From Win32_LogicalDisk"); var arr = q.Get(); //목록 받아오기 foreach (var item in arr) { this.treeView.Nodes[0].Nodes.Add( new TreeNode(item["Name"].ToString())); //2.자식 노드로 추가 } } private void treeView_AfterSelect(object sender, TreeViewEventArgs e) { if (this.treeView.SelectedNode.Text != "내 컴퓨터") { DisplayList(treeView.SelectedNode.Text + @"\"); } } //TreeView에서 드라이브 선택시 ListView에 해당 드라이브 내용 출력 private void DisplayList(string dir) { this.listView.Items.Clear(); //클리어 if (!Directory.Exists(dir)) { MessageBox.Show("드라이브가 없거나 로드 불가"); } else { DirectoryInfo di = new DirectoryInfo(dir); foreach (var item in di.GetDirectories()) //폴더 목록 { listView.Items.Add( new ListViewItem(new string[] { item.Name, "" })); } foreach (var item in di.GetFiles()) { listView.Items.Add( new ListViewItem(new string[] { item.Name,item.Length.ToString() })); } } } |
결과확인 |
반응형
'C#' 카테고리의 다른 글
22.C#_WinForm - 탭 컨트롤 -2 ( Tab Control ) (0) | 2009.08.31 |
---|---|
22.C#_WinForm - 탭 컨트롤 -1 ( Tab Control ) (0) | 2009.08.31 |
21.C#_WinForm - TreeView (0) | 2009.08.28 |
20.C#_WinForm - ListView (0) | 2009.08.28 |
19.C#_WinForm - ImageViewer ( 이미지뷰어 ) (0) | 2009.08.28 |
Comments