본문 바로가기
백엔드/C#

뷰 사전 만들기 Dictionary<뷰이름, Type>

by 1005ptr 2018. 7. 18.
반응형

메인 화면 메뉴에 여러개의 드랍다운 메뉴가 있고

MDI Parent 설정해서 자기 안에 띄우는데

문제는 메인 창에서 기능이 동일한 수많은 코드가 보기싫다는 요청(메뉴 클릭 이벤트에 폼 오픈 기능)


목적

같은일을 하는 이벤트핸들러 하나로 퉁칠 수 있게 하는 것


그래서 처음 생각한것은

Dictionary<폼이름, View>

메인 폼 초기화할 때 다 집어넣어서 메뉴.Text 읽어다가 Dictionary에서 찾아서 꺼내주자.


그런데 View를 처음 생성했을 땐 잘 동작(첫번째만)

껐다가 다시 켤려고 하면 에러발생(View가 Dispose됐으니까)

그럼 어떻게 해야될까


View 객체 대신에 Type 정보를 담으면 될거같은데

타입정보를 담아다가 그 타입 뷰를 그때그때 생성하면 되겠다.


1. 메인뷰 Initialize 할 때 dictionary 초기화(typeof써서)

 - 일일이 안하고 알아서 촥 되는 방법이 있을까(관리안해도되는방법)

2. 메뉴에는 모두 같은 이벤트 핸들러를 달아놓고 메뉴.Text로 구분해서 Dictionary에서 Type을 꺼내다가 View를 생성


내쪽에 있는 코드가 아니라 아직 실험은 안해봤다.

반응형

댓글