选择特定标签页C#时的火灾事件

时间:2014-09-12 11:05:22

标签: c# devexpress tabcontrol

我在我的一个Win Form应用程序中使用了DevExpress XtraTab Control,但是我想限制基于用户权限类别访问标签页,我试着按照以下方式进行操作,它在正确的时候给我提供了消息选择标签页但如果用户未获得授权,则不会将用户重定向到指定的标签页,但仍允许未经授权的用户查看标签页。

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 个答案:

答案 0 :(得分:1)

您应该在显示消息框后添加e.Cancel = true;。 实际上,如果你需要取消事件,你应该在DevExpress组件的任何* Changing事件处理程序中使用它。

还要考虑这种方法:如果用户无权查看某些标签页内容 - 也许最好通过设置该页面PageVisible = false的属性而不是将其重定向到某个位置来隐藏此页面?