2014-09-12 3 views
0

DevExpress XtraTab 컨트롤을 내 WinForm 응용 프로그램 중 하나에서 사용했지만 사용자 권한 범주를 기반으로 탭 페이지에 액세스하는 것을 제한하려면 다음 방법으로 시도했습니다. 탭 페이지를 선택할 때 올바르게 메시지를 제공하지만 권한이없는 사용자가 지정된 탭 페이지로 리다이렉션하지 않고 권한이없는 사용자가 탭 페이지를 볼 수있게합니다.특정 탭 페이지를 선택하면 이벤트가 발생합니다. C#

private void tabInquiryManagement_SelectedPageChanging(object sender, DevExpress.XtraTab.TabPageChangingEventArgs e) 
     { 
      if(e.Page==xtraTabPage4){ 

       if(InfoPCMS.user.checkFunctionAuthentication("34")==false){ 

        XtraMessageBox.Show(InfoPCMS.message.GET_NOT_AUTHORIZED_ERROR(), "Error"); 
        tabInquiryManagement.SelectedTabPage = xtraTabPage1; 
       } 

      } 
     } 

// checkFunctionAuthentication은 (권한이없는 경우는 false) 인증을 기반으로 부울

나에게 당신은 당신의 메시지 박스를 표시 한 후 e.Cancel = true;를 추가해야하는 솔루션

답변

1

을주십시오을 반환합니다. 사실, 이벤트를 취소해야하는 경우 DevExpress 구성 요소의 * 변경 이벤트 처리기에서이 값을 사용해야합니다.

사용자가 일부 탭 콘텐츠를 볼 수있는 권한이없는 경우 - 해당 페이지의 속성을 어딘가에 리디렉션하는 대신 PageVisible = false으로 설정하여이 페이지를 숨기는 것이 더 좋을 수도 있습니다.

+0

감사합니다. 훌륭하게 작동합니다! –

+0

예 Andy, 두 번째 해결책이 훨씬 좋습니다! –