【问题标题】:Fire event when selecting a specific Tab Page C#选择特定标签页 C# 时触发事件
【发布时间】:2014-09-12 11:05:21
【问题描述】:

我在我的一个 Win Form 应用程序中使用了 DevExpress XtraTab 控件,但我想根据用户权限类别限制访问标签页,我尝试通过以下方式进行操作,当它正确地给我消息时选择标签页,但如果用户未经授权,它不会将用户重定向到指定的标签页,并且仍然允许未经授权的用户查看标签页。

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)

请给我一个解决方案

【问题讨论】:

    标签: c# devexpress tabcontrol


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢!效果很好!
    • 是的,安迪,你的第二个解决方案要好得多!
    猜你喜欢
    • 2012-12-14
    • 2023-02-05
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2016-12-08
    • 2016-10-11
    相关资源
    最近更新 更多