NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    디자이너 프레임워크 - 스크립트뷰에서 제공하는 트리뷰에서 아이디 찾는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 디자이너를 설치하고, 프레임워크로 제품을 개발하는 경우 스크립트의 모든 액션에서 특정 아이디를 가진 모델을 찾고 싶을 수 있습니다. 이 때 윈폼에서 기본 제공하는 TreeNodeCollections의 Find를 사용할 수 있는데요. 이 Find는 TreeNode의 키를 기반으로 찾기 때문에 모델의 아이디를 찾으려면 몇단계를 더 거쳐야 하는 번거로움이 있습니다. 엔지엠 프레임워크는 TreeView를 확장한 TreeViewEx 컨트롤로 만들어져 있습니다. 그리고, 이 안에는 확장 메소드로 제네릭 Find 함수를 제공합니다. 상단에 확장 메소드를 사용하기 위한 using을 추가합니다.

    using static NGM.Controls.Krypton.TreeViewExtensions;

     

    아래와 같이 스크립트를 정적으로 만들거나 동적으로 만듭니다.

    InitializeComponent();
    
    // isBackground 파라메터를 false로 명시하지 않으면 뷰를 생성하지 않고 백그라운드로 실행됩니다.
    sv = new Designer.Component.ScriptView(
        new Designer.ComponentDefault.MainView() { Text = this.Text }, 
        Path.Combine(GetDefaultScriptPath(),
        "ext test.ngs"), false);

     

    제네릭 타입은 TreeNode와 BaseModel 2가지를 지원합니다. null 체크로 확인이 가능합니다. TreeView의 모든 TreeNode에서 아이디가 "TEST"인 액션을 찾아서 반환합니다. TreeNode는 Windows의 Forms에 정의되어 있으므로 타입을 쉽게 확인할 수 있습니다. Model의 경우 Base가 아닌 생성된 모델을 찾으려면 리플렉션을 사용해야 합니다.

    var model = sv.TreeView.Find<NGM.Models.BaseModel>("TEST");
    var node = sv.TreeView.Find<TreeNode>("TEST");

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    엔지엠 프레임워크는 엔터프라이즈 버전에서만 사용할 수 있습니다.