2014-09-12 40 views
0

我在我的一個Win Form應用程序中使用了DevExpress XtraTab控件,但我想根據用戶權限類別限制訪問標籤頁,我試圖按照以下方式,它在選擇標籤頁時正確地給我提示消息,但是如果他沒有被授權,它不會將用戶重定向到指定的標籤頁,並且它仍然允許未經授權的用戶看到標籤頁。選擇特定標籤頁時觸發事件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,如果未授權)的布爾

請給我一個解決方案

回答

1

你應該展示你的消息框之後添加e.Cancel = true;。 實際上,如果您需要取消事件,您應該在任何*更改DevExpress組件的事件處理程序中使用它。

也考慮這種方法:如果用戶無權查看某些頁面內容 - 可能是通過設置頁面的屬性PageVisible = false而不是將他重定向到某個地方來隱藏此頁面更好?

+0

非常感謝!非常棒! – 2014-09-12 11:19:47

+0

是的,你的第二個解決方案好多了! – 2014-09-12 11:28:43