C# 윈폼 뒤로가기 버튼 구현을 못하겠어요

image
C# 배우기 시작하여 과제를 받았는데
TextBox 1개와 ListBox 1개로 파일 탐색기 기능을 만들어야 합니다

기능은 ListBox에 있는 항목을 더블 클릭 시 폴더면 이동 프로그램이면 실행이 됩니다
TextBox에는 경로가 나옵니다
TextBox 폴더 경로 입력 후 ‘바로 가기’ 를 누르면 입력된 경로로 이동 합니다.
뒤로 가기 버튼을 누르면 이 전 폴더로 돌아가야 됩니다.
그래서 뒤로 가기 버튼을 제외 하고는 작동하는데 뒤로 가기는 어떤 식으로 작성하여야 하는지 짐작이 안갑니다
힌트라도 주시면 감사하겠습니다…

5개의 좋아요

과제라고 하시니까 구체적으로 말씀드리기 좀 그렇네요 :sweat_smile:
저라면 Stack을 사용하겠습니다.

6개의 좋아요

경로를 전부 저장한다음에 앞 뒤로 움직이면 될거 같은데요

5개의 좋아요

저도 마찬가지로 과제라고 하시니, 선뜻 답변드리기가 꺼려졌습니다. :sweat_smile:
프로그램은 고민하면서 실력이 느는 경우가 많으니까요…
그래도 저는 디자인 패턴, 프로그램 로직도 결국은 패턴 드릴로 암기가 필요한 부분이라 생각되네요.
그래서 정답은 아니더라도, 이런 방식도 있구나 생각해주세요.

서론이 길었습니다만, 저같으면 디렉토리 이동할때마다(더블클릭 또는 바로가기 클릭시) 현재 경로를 변수 하나에 계속 저장/갱신해 놓을 것 같습니다.
그래서 뒤로가기를 누르면 저장돼있던 경로를 '바로가기’버튼을 누른 것처럼 바로 이동하게끔 만드는거죠.

뒤로가기 버튼이 반복적으로 먹혀야된다고 해도 비슷할거라 생각합니다. 계속 저장하다가 뒤로 가는 순간마다 이동한 그 경로를 지우는거죠. 도움이 되셨길…

5개의 좋아요

저도 예전에 WPF 탐색기를 만들어두었는데
뒤로 가기 기능도 있으니 한번 참고해보셔도 괜찮지만 도움이 되실지는 잘 모르겠네요.

3개의 좋아요

윈도우 탐색기의 뒤로 가기 버튼의 특징과 자료구조를 매칭시켜 보면 적절한 게 있을 것 같습니다. 폴더를 누를 때마다 해당 폴더로 이동하고, 주소를 입력하면 그 주소로 바로 이동하는 기능이라고 하시니 윈도우 탐색기에서 한 번 동일한 기능을 따라해 보셔도 구현할 때 좋은 힌트가 되지 않을까 싶네요.

  1. 무작위 문서를 몇 차례 클릭한 다음에, 뒤로가기 버튼을 눌러보거나 최근 위치 확인
    윈도우 11 기준으로 최근 위치 버튼을 눌러보니 맨 처음에 탐색한 위치가 가장 밑에, 가장 최근에 탐색한 위치가 가장 위에 나오는군요.

  2. 주소에서 아무 폴더의 경로를 입력해 탐색한 다음에 뒤로가기 버튼을 눌러보거나 최근 위치 확인
    마찬가지로 맨 처음 탐색한 위치가 가장 밑에, 가장 최근에 탐색한 위치가 가장 위에 표시됩니다. 내 문서에서 뒤로 가기를 이용해 내 PC로 이동한 다음 다운로드 폴더로 이동하니 내 문서는 최근 위치에 표시되지 않고 내 PC부터 기록되네요.

4개의 좋아요