반응형
메인 화면 메뉴에 여러개의 드랍다운 메뉴가 있고
MDI Parent 설정해서 자기 안에 띄우는데
문제는 메인 창에서 기능이 동일한 수많은 코드가 보기싫다는 요청(메뉴 클릭 이벤트에 폼 오픈 기능)
목적
같은일을 하는 이벤트핸들러 하나로 퉁칠 수 있게 하는 것
그래서 처음 생각한것은
Dictionary<폼이름, View>
메인 폼 초기화할 때 다 집어넣어서 메뉴.Text 읽어다가 Dictionary에서 찾아서 꺼내주자.
그런데 View를 처음 생성했을 땐 잘 동작(첫번째만)
껐다가 다시 켤려고 하면 에러발생(View가 Dispose됐으니까)
그럼 어떻게 해야될까
View 객체 대신에 Type 정보를 담으면 될거같은데
타입정보를 담아다가 그 타입 뷰를 그때그때 생성하면 되겠다.
1. 메인뷰 Initialize 할 때 dictionary 초기화(typeof써서)
- 일일이 안하고 알아서 촥 되는 방법이 있을까(관리안해도되는방법)
2. 메뉴에는 모두 같은 이벤트 핸들러를 달아놓고 메뉴.Text로 구분해서 Dictionary에서 Type을 꺼내다가 View를 생성
내쪽에 있는 코드가 아니라 아직 실험은 안해봤다.
반응형
'백엔드 > C#' 카테고리의 다른 글
c# To convert from decimal to hex (0) | 2018.07.31 |
---|---|
List에 ListChanged 이벤트 달기 (0) | 2018.07.18 |
파일 하나를 두개 창에서 보기 (0) | 2018.06.26 |
CheckedChanged vs CheckStateChanged (0) | 2018.06.26 |
중단점(BreakPoint)의 이런저런 설정들 (0) | 2018.06.18 |
댓글