2013-03-18 2 views
0

디렉토리에서 파일을 가져 와서 treeview에 채우려면이 코드를 사용하는 데 도움이 필요합니다. 내가고정 된 디렉토리가있는 treeview 코드

+2

초기 foreach 후 첫 줄에 오류가 생성 된 것처럼 보입니다. TreeView는 클래스 이름이며 아마도 개체 이름이 아닙니다. TreeView 객체 란 무엇입니까? – NotMe

+0

'TreeView'라는 이름을 컨트롤의 실제 이름으로 대체 해보십시오. – IAbstract

답변

3

TreeView는 해당 오류 메시지가 표시되는 이유입니다 정적 클래스없는 도움 덕분에 모든 종류의 감사 An object reference is required for the non-static field, method, or property 'System.Windows.Forms.TreeView.Nodes.get'

:

foreach (DirectoryInfo directory in directories) 
{ 
    TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name); 
    node.ImageIndex = 1; 


    foreach (FileInfo file in directory.GetFiles()) 
    { 
     if (file.Exists) 
     { 
      TreeNode nodes = TreeView.Nodes[0].Nodes(node.Index).Nodes.Add(file.Name); 
      nodes.ImageIndex = 2; 
     } 
    } 
} 

난이 오류가 발생합니다. TreeView을 사용한 실제 인스턴스 이름을 변경해야합니다. 예를 들어

:

TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name); 

//myTreeView is the name of my TreeView object 
TreeNode node = myTreeView.Nodes[0].Nodes.Add(directory.Name); 
0

해야 당신이 그것을이 원하는 것을 생각한다.

var directories = Directory.GetDirectories("c:\\users"); 
foreach (string directoryName in directories) 
{ 
    var directory = new DirectoryInfo(directoryName); 
    var node = new TreeNode(directory.Name); 
    node.ImageIndex = 1; 

    foreach (FileInfo file in directory.GetFiles()) 
    { 
     if (file.Exists) 
     { 
      var nodes = node.Nodes.Add(file.Name); 
      nodes.ImageIndex = 2; 
     } 
    } 
    treeView1.Nodes.Add(node); 
} 
+0

도움을 주셔서 감사합니다. 나는 다음과 같은 도움이 필요, 그것에 adobe PDF 리더 도구와 Form2, 그리고 Form1에있는 파일 중 일부는 PDF, 어떻게 내가 Form2의 어도비 PDF 리더에서 Form1의 Treeview에서 PDF 파일을 미리 볼 수 있습니다 –

+0

다행 당신. Adobe Reader의 경우 질문은이 스레드와 관련이 없지만 "Adobe Reader ActiveX Control"을 살펴볼 수 있습니다. 좋은 기사가 있습니다.이 링크는 정확히 어떻게하는지 보여줍니다. http://www.c-sharpcorner.com/uploadfile/hirendra_singh/how-to-show-pdf-file-in-C-Sharp/ :) –