2012-11-08 3 views
1

저는 프로그래밍 초보자이며 두 번째 Prog를 작성하고 있습니다. 내 응용 프로그램 시작 경로에 상대 경로를 얻는 방법에 대한 질문이 있습니다. 프로그램은 .jpg 경로가 저장된 .xml 파일을 읽습니다. 모든 경로에 대해 Picturebox를 만들고 각각의 이미지를로드합니다. 문제는 Dropbox가있는 모든 PC에서 프로그램을 사용할 수 있도록 내 Dropbox에 이미지가 있다는 것입니다. 내 메인 PC에서 OpenFileDialog를 사용하고 XML에 .jpg 경로를 저장하면 Dropbox 폴더가 내 메인 PC와 다른 드라이브에 있기 때문에 내 랩톱에서 작동하지 않습니다.C#의 OpenFileDialog에서 상대 경로 가져 오기

누구나 아이디어가 있습니까?이 문제를 해결하는 방법은 무엇입니까? 문제를 해결하기

+1

이것을 확인할 수 있습니까? http://stackoverflow.com/questions/7416605/using-openfiledialog-w-a-relative-path-as-initialdirectory – pordi

답변

2

, 이것은 간단한 경로로 대체 할 수있는 응용 프로그램

Directory.GetCurrentDirectory() 

의 현재 위치를 얻을 것이다.

예 :

String JPG_Path_Relative = openFileDialog1.FileName.Replace(Directory.GetCurrentDirectory(),"") 
+0

감사합니다. 작동합니다! 요약 : 1. 나에게 "/images/mypic.jpg"를 줄 수있는 이미지 경로를 저장하십시오. 2. xml에서 경로를로드하고 디렉토리 앞의 Directory.getCurrentDirectory()를 추가하십시오. 3. 그림 상자를로드하십시오 나에게 "D : /users/username/dropbox/myprogram/images/mypic.jpg"을 제공하는 결합 된 문자열과 함께 –

0

드롭 박스 폴더가 기본 위치 (사용자 폴더) 당신이 당신의 경로를 얻기 위해 이것을 사용할 수 있습니다에 있습니다

string userFolderPath= Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 

이 C를 줄 것이다 : \ 사용자 \ USERNAME (드라이브가 다를 수 있음) 그런 다음 나머지 경로를 이미지 폴더에 추가하기 만하면됩니다.

string imageFolderPath = userFolderPath + @"\Dropbox\Imagefolder";