private void trvDir_BeforeExpand_1(object sender, TreeViewCancelEventArgs e) { File_Info dInfo = new File_Info();//path에 대한 directory정보 읽어오기 dInfo.SetPath(e.Node.FullPath); dInfo.Type = (int)PacketType.Expand; Packet.Serialize(dInfo).CopyTo(this.sendBuffer, 0); Send(); try { m_Stream.Read(readBuffer, 0, 1024 * 4); } catch { MessageBox.Show("디렉토리 읽기 에러"); return; } File_Info fInfo = (File_Info)Packet.Desserialize(readBuffer); //Desserialize DirectoryInfo[] diArray = fInfo.diArray; //하위디렉토리 FileInfo[] fiArray = fInfo.fiArray; TreeNode node; try { e.Node.Nodes.Clear(); foreach (DirectoryInfo dirs in diArray) { //루트 디렉토리 바로 및 디렉토리를 보여줌. node = e.Node.Nodes.Add(dirs.Name); //하위 디렉토리 정보들을 노드에 추가한다. setPlus(node); //하위 디렉토리 정보 밑에 세부 폴더가 있다면 setPlus 함수를 실행한다. } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
void ViewRight(string path) { File_Info dInfo = new File_Info(); dInfo.SetPath(path); dInfo.Type = (int)PacketType.FILE_INFO; Packet.Serialize(dInfo).CopyTo(this.sendBuffer, 0); Send(); try { m_Stream.Read(readBuffer, 0, 1024 * 4); } catch { MessageBox.Show("디렉토리 읽기 에러"); return; } File_Info fInfo = (File_Info)Packet.Desserialize(readBuffer);//Desserialize console.Text = fInfo.GetPath() + "\r\n" + path; //console.Text = fInfo.di.FullName+"\r\n"+path; //DirectoryInfo di = fInfo.di;//디렉토리 정보 //DirectoryInfo[] diArray = fInfo.diArray;//하위디렉토리 //FileInfo[] fiArray = fInfo.fiArray; ListViewItem item; try { lvwFiles.Items.Clear(); foreach (DirectoryInfo di in fInfo.diArray) { item = lvwFiles.Items.Add(di.Name); item.SubItems.Add(""); item.SubItems.Add(di.LastWriteTime.ToString()); item.ImageIndex = (int)TREE_IMAGE.FOLDER; item.Tag = "D"; } foreach (FileInfo fi in fInfo.fiArray) { item = lvwFiles.Items.Add(fi.Name); item.SubItems.Add(fi.Length.ToString()); item.SubItems.Add(fi.LastWriteTime.ToString()); if (fi.Extension == ".avi" || fi.Extension == ".mp4") { item.ImageIndex = (int)TREE_IMAGE.VEDIO; } else if (fi.Extension == ".jpg" || fi.Extension == ".png") { item.ImageIndex = (int)TREE_IMAGE.IMAGE; } else if (fi.Extension == ".mp3" || fi.Extension == ".wav") { item.ImageIndex = (int)TREE_IMAGE.MUSIC; } else if (fi.Extension == ".txt") { item.ImageIndex = (int)TREE_IMAGE.TEXT; } else { item.ImageIndex = (int)TREE_IMAGE.OTHER; } item.Tag = "F"; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }