2014-09-12 4 views
0

Я использовал DevExpress XtraTab Control в одном из моих приложений Win Form, но я хочу ограничить доступ к закладке на основе категории разрешений пользователей, я попытался сделать это следующим образом , где он дает мне сообщение правильно при выборе закладки, но он не перенаправляет пользователя на указанную страницу, если он не авторизован, и все же он позволяет неавторизованному пользователю просматривать вкладку.Событие пожара при выборе конкретной страницы вкладки 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 возвращает логическое значение, основанное на авторизации (ложной, если не авторизовано)

Пожалуйста, дайте мне решение

ответ

1

Вы должны добавить e.Cancel = true; после показа вашего MessageBox. Собственно, вы должны использовать это в любом * Изменение обработчиков событий компонентов DevExpress, если вам нужно отменить событие.

Также рассмотрите этот подход: если пользователь не имеет права просматривать содержимое какой-либо страницы - возможно, лучше скрыть эту страницу от него, установив свойство этой страницы PageVisible = false, а не перенаправить его где-нибудь?

+0

Большое спасибо! Прекрасно работает! –

+0

Да, Энди, твое второе решение намного лучше! –

Смежные вопросы