.Net Project/.Net C#

108장 Form Windows (탐색기)

Magic_kit 2009. 8. 30. 17:14
반응형


 namespace MyWinFormsStudy.Sample
{
    public partial class frmMyComputer : Form
    {
        public frmMyComputer()
        {
            InitializeComponent();
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (this.treeView1.SelectedNode.Text != "내 컴퓨터")
            {
                DisplayList(treeView1.SelectedNode.Text + @"\");
            }

        }
               
        //왼쪽 드리뷰에서 C,D 선택시 오른쪽에 해당 폴더 내용 출력        
        private void DisplayList(string dir)
        {
            if (!System.IO.Directory.Exists(dir))
            {
                MessageBox.Show("드라이브가 없거나 로드 불가");
               
            }
            else
            {
                System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(dir);
                foreach (var item in di.GetDirectories())
                {
                    listView1.Items.Add(new ListViewItem(new string[] { item.Name }));
                   
                }
            }
        }
        //전체 폴더 목록을 왼쪽 트리뷰에 출력
        private void frmMyComputer_Load(object sender, EventArgs e)
        {
            //TreeNode root = new TreeNode("내 컴퓨터");
           
            this.treeView1.Nodes.Add(new TreeNode("내 컴퓨터")); //1.루트 등록

            ManagementObjectSearcher q = new ManagementObjectSearcher
                                                     ("SELECT * From Win32_LogicalDisk");

            var arr = q.Get(); //목록 받아오기
           
            foreach (var item in arr)
            {
                this.treeView1.Nodes[0].Nodes.Add(new TreeNode
                (item["Name"].ToString())); //2. 인덱스[0]인해 자식로드 추가
            }

            treeView1.EndUpdate();


현재까지 진행중인 현제 MyWinForm 프로젝트





반응형