2010-03-08 7 views
2

위해 나는 다음과 같은 기능을 가진 파일 시스템을 표시하는 C#을 트리 컨트롤 찾고있다 :트리보기/파일보기 컨트롤은 C#

  • 가 시작 디렉토리를 선택합니다. 나는 항상 "기본"최상위 디렉토리 수준에서 시작하고 싶지 않습니다.
  • 사용자가 트리의 파일을 두 번 클릭 할 때 이벤트를 잡는 기능입니다. 내 응용 프로그램 내에서 파일 열기를 처리하고 싶습니다.

나는이을보고 있습니다. 불행히도, 나는 두 번째 필요를 충족시키는 법을 이해할 수 없었다. (누군가가 나를 위해 그것을 해결할 수 있다면, 나는 그것을 더 좋아할 것이다.) 어떤 도움을 주셔서 감사합니다.

답변

2

안녕하세요, 저는 C# File Browser를 살펴보고 두 번째 요구 사항을 처리 할 수있는 방법을 찾아 냈습니다. ItemActivate 이벤트를 FileBrowser 프로젝트의 Browser User Control 아래에있는 fileView 컨트롤에 추가하고 처리 할 때 선택한 항목을 가져올 수 있습니다. ItemActivate 이벤트는 항목을 두 번 클릭 할 때마다 트리거됩니다. FileBrowser의 코멘트 섹션에서 cipriansteclaru에 의해 게시 된 코드를 보면, 소스를 모두 보려면 : 원래의 질문에 작가에 의해

private void fileView_ItemActivate(object sender, EventArgs e) 
    { 
     //Loop thru all selected items 
     foreach (ListViewItem item in ((BrowserListView)sender).SelectedItems) 
     { 
      //Do your stuuf here. MessageBox is only used for demo 
      MessageBox.Show(item.Text); 
     } 
    } 

편집 : 여기에 샘플 코드입니다. 실제로 FileBrowser 소스를 편집하여이 기능을 얻을 수 있어야합니다 (이 대답이 보여주는 것입니다).

+0

실제로 파일을 여는 데 Win32 ShellExecute 함수를 사용하십시오. 또한 Shell MegaPack 컨트롤을보십시오. http://www.ssware.com/megapack.htm – logicnp

+0

@logicnp - 해당 컨트롤의 라이센스는 무엇입니까? 그들은 자유롭게 사용할 수 있습니다. 나는 그들을 가로 질러 달렸지 만 "Download Trial"링크를 보았고 평가판 소프트웨어를 좋아하지 않습니다. 또한 프로젝트가 오픈 소스이므로 라이센스 문제가 발생하기를 원하지 않습니다. – JasCav

+0

@Jojo Sardez - 죄송 합니다만 실제로 ItemActivate 이벤트를 Browser 사용자 정의 컨트롤에 추가하는 방법을 알지 못합니다. API와 같은 것은 존재하지 않습니다. 내가 놓친 게 있니? – JasCav

관련 문제