문제

Windows 양식을 사용하는 프로그램이 있습니다. 그 양식에는 일부 디렉토리에서 파일을 열면 OpenFiledialog를 사용합니다. 그런 다음 다른 함수에서 StreamReader를 사용하고 StreamReader를 열기를 원하는 BIG/DEBUG 디렉토리에 2 차 파일이 있습니다. 그러나 OpenFiledialog로 첫 번째 파일을 열면 Streamreader는 평소와 같이 Bin/Debug 대신 해당 디렉토리의 두 번째 파일을 찾습니다.

그가 왜 그렇게하는지 아는 사람이 있고 어떻게 해결할 수 있습니까?

미리 감사드립니다.

그렉

도움이 되었습니까?

해결책

그만큼 OpenFileDialog 그 행동이 있습니다. 응용 프로그램의 현재 디렉토리를 변경합니다. 이런 일이 발생하지 않도록 RestoreDirectory 의 속성 OpenFileDialog.

다른 팁

열린 파일 대화 상자에서 디렉토리를 변경하면 응용 프로그램의 작업 디렉토리가 변경됩니다. 따라서 상대 경로를 사용하려고한다면 잘못된 장소에서 보입니다.

해결책은입니다 복원 사원.

완전한 파일 경로를 지정하지 않고 파일 이름 만 지정하면 파일이 현재 디렉토리에 있음을 의미합니다. OpenFileDialog를 사용하면 현재 디렉토리가 변경됩니다.

현재 디렉토리가 설정된 내용에 관계없이 파일에 액세스하려면 완전한 경로를 지정해야합니다. 당신이 사용할 수있는 Application.StartupPath 프로그램이있는 폴더로가는 길을 얻으려면

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top